Coverage Report

Created: 2026-06-05 21:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/modulo.cpp
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
// This file is copied from
18
// https://github.com/ClickHouse/ClickHouse/blob/master/src/Functions/Modulo.cpp
19
// and modified by Doris
20
21
#include <string.h>
22
23
#include <cmath>
24
#include <memory>
25
#include <utility>
26
27
#include "core/column/column_decimal.h"
28
#include "core/column/column_vector.h"
29
#include "core/data_type/data_type_decimal.h"
30
#include "core/data_type/data_type_number.h"
31
#include "core/data_type/number_traits.h"
32
#include "core/data_type/primitive_type.h"
33
#include "core/types.h"
34
#include "core/value/decimalv2_value.h"
35
#include "exprs/function/cast_type_to_either.h"
36
#include "exprs/function/fmod_fast.h"
37
#include "exprs/function/simple_function_factory.h"
38
39
namespace doris {
40
41
template <typename A, typename B>
42
16.3M
inline void throw_if_division_leads_to_FPE(A a, B b) {
43
    // http://avva.livejournal.com/2548306.html
44
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
45
16.3M
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
46
16.3M
        if (b == -1 && a == std::numeric_limits<A>::min()) {
47
2
            throw Exception(ErrorCode::INVALID_ARGUMENT,
48
2
                            "Division of minimal signed number by minus one is an undefined "
49
2
                            "behavior, {} % {}. ",
50
2
                            a, b);
51
2
        }
52
16.3M
    }
53
16.3M
}
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIaaEEvT_T0_
_ZN5doris30throw_if_division_leads_to_FPEIssEEvT_T0_
Line
Count
Source
42
885
inline void throw_if_division_leads_to_FPE(A a, B b) {
43
    // http://avva.livejournal.com/2548306.html
44
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
45
885
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
46
885
        if (b == -1 && a == std::numeric_limits<A>::min()) {
47
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
48
0
                            "Division of minimal signed number by minus one is an undefined "
49
0
                            "behavior, {} % {}. ",
50
0
                            a, b);
51
0
        }
52
885
    }
53
885
}
_ZN5doris30throw_if_division_leads_to_FPEIiiEEvT_T0_
Line
Count
Source
42
690
inline void throw_if_division_leads_to_FPE(A a, B b) {
43
    // http://avva.livejournal.com/2548306.html
44
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
45
690
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
46
690
        if (b == -1 && a == std::numeric_limits<A>::min()) {
47
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
48
0
                            "Division of minimal signed number by minus one is an undefined "
49
0
                            "behavior, {} % {}. ",
50
0
                            a, b);
51
0
        }
52
690
    }
53
690
}
_ZN5doris30throw_if_division_leads_to_FPEIllEEvT_T0_
Line
Count
Source
42
16.3M
inline void throw_if_division_leads_to_FPE(A a, B b) {
43
    // http://avva.livejournal.com/2548306.html
44
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
45
16.3M
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
46
16.3M
        if (b == -1 && a == std::numeric_limits<A>::min()) {
47
2
            throw Exception(ErrorCode::INVALID_ARGUMENT,
48
2
                            "Division of minimal signed number by minus one is an undefined "
49
2
                            "behavior, {} % {}. ",
50
2
                            a, b);
51
2
        }
52
16.3M
    }
53
16.3M
}
_ZN5doris30throw_if_division_leads_to_FPEInnEEvT_T0_
Line
Count
Source
42
1.51k
inline void throw_if_division_leads_to_FPE(A a, B b) {
43
    // http://avva.livejournal.com/2548306.html
44
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
45
1.51k
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
46
1.51k
        if (b == -1 && a == std::numeric_limits<A>::min()) {
47
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
48
0
                            "Division of minimal signed number by minus one is an undefined "
49
0
                            "behavior, {} % {}. ",
50
0
                            a, b);
51
0
        }
52
1.51k
    }
53
1.51k
}
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIilEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIinEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIiN4wide7integerILm256EiEEEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIliEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIlnEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIlN4wide7integerILm256EiEEEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIniEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEInlEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEInN4wide7integerILm256EiEEEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIN4wide7integerILm256EiEEiEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIN4wide7integerILm256EiEElEEvT_T0_
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIN4wide7integerILm256EiEEnEEvT_T0_
_ZN5doris30throw_if_division_leads_to_FPEIN4wide7integerILm256EiEES3_EEvT_T0_
Line
Count
Source
42
8
inline void throw_if_division_leads_to_FPE(A a, B b) {
43
    // http://avva.livejournal.com/2548306.html
44
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
45
8
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
46
8
        if (b == -1 && a == std::numeric_limits<A>::min()) {
47
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
48
0
                            "Division of minimal signed number by minus one is an undefined "
49
0
                            "behavior, {} % {}. ",
50
0
                            a, b);
51
0
        }
52
8
    }
53
8
}
54
55
template <typename Impl>
56
class FunctionMod : public IFunction {
57
    static constexpr bool result_is_decimal = Impl::result_is_decimal;
58
59
public:
60
    static constexpr auto name = Impl::name;
61
62
45.8k
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE6createEv
Line
Count
Source
62
98
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE6createEv
Line
Count
Source
62
69
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE6createEv
Line
Count
Source
62
45.0k
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE6createEv
Line
Count
Source
62
50
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE6createEv
Line
Count
Source
62
15
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE6createEv
Line
Count
Source
62
307
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE6createEv
Line
Count
Source
62
20
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE6createEv
Line
Count
Source
62
13
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE6createEv
Line
Count
Source
62
50
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE6createEv
Line
Count
Source
62
46
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE6createEv
Line
Count
Source
62
11
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE6createEv
Line
Count
Source
62
40
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE6createEv
Line
Count
Source
62
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE6createEv
Line
Count
Source
62
14
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
63
64
45.8k
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEEC2Ev
Line
Count
Source
64
98
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEEC2Ev
Line
Count
Source
64
69
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEEC2Ev
Line
Count
Source
64
44.9k
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEEC2Ev
Line
Count
Source
64
50
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEEC2Ev
Line
Count
Source
64
15
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEEC2Ev
Line
Count
Source
64
307
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEEC2Ev
Line
Count
Source
64
20
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEEC2Ev
Line
Count
Source
64
13
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEEC2Ev
Line
Count
Source
64
50
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEEC2Ev
Line
Count
Source
64
46
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEEC2Ev
Line
Count
Source
64
11
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEEC2Ev
Line
Count
Source
64
40
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEEC2Ev
Line
Count
Source
64
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEEC2Ev
Line
Count
Source
64
14
    FunctionMod() = default;
65
66
26
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
66
1
    String get_name() const override { return name; }
67
68
23.9k
    bool need_replace_null_data_to_default() const override {
69
23.9k
        return Impl::need_replace_null_data_to_default;
70
23.9k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE33need_replace_null_data_to_defaultEv
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
204
    bool need_replace_null_data_to_default() const override {
69
204
        return Impl::need_replace_null_data_to_default;
70
204
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
105
    bool need_replace_null_data_to_default() const override {
69
105
        return Impl::need_replace_null_data_to_default;
70
105
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
22.3k
    bool need_replace_null_data_to_default() const override {
69
22.3k
        return Impl::need_replace_null_data_to_default;
70
22.3k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
76
    bool need_replace_null_data_to_default() const override {
69
76
        return Impl::need_replace_null_data_to_default;
70
76
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
28
    bool need_replace_null_data_to_default() const override {
69
28
        return Impl::need_replace_null_data_to_default;
70
28
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
978
    bool need_replace_null_data_to_default() const override {
69
978
        return Impl::need_replace_null_data_to_default;
70
978
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
4
    bool need_replace_null_data_to_default() const override {
69
4
        return Impl::need_replace_null_data_to_default;
70
4
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
4
    bool need_replace_null_data_to_default() const override {
69
4
        return Impl::need_replace_null_data_to_default;
70
4
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
118
    bool need_replace_null_data_to_default() const override {
69
118
        return Impl::need_replace_null_data_to_default;
70
118
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
24
    bool need_replace_null_data_to_default() const override {
69
24
        return Impl::need_replace_null_data_to_default;
70
24
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE33need_replace_null_data_to_defaultEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
4
    bool need_replace_null_data_to_default() const override {
69
4
        return Impl::need_replace_null_data_to_default;
70
4
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE33need_replace_null_data_to_defaultEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
71
    bool need_replace_null_data_to_default() const override {
69
71
        return Impl::need_replace_null_data_to_default;
70
71
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE33need_replace_null_data_to_defaultEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE33need_replace_null_data_to_defaultEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
68
6
    bool need_replace_null_data_to_default() const override {
69
6
        return Impl::need_replace_null_data_to_default;
70
6
    }
71
72
45.3k
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE23get_number_of_argumentsEv
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
89
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
60
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
44.7k
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
41
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
6
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
297
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
11
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
4
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
41
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
37
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE23get_number_of_argumentsEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
2
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE23get_number_of_argumentsEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
31
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE23get_number_of_argumentsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE23get_number_of_argumentsEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE23get_number_of_argumentsEv
Line
Count
Source
72
5
    size_t get_number_of_arguments() const override { return 2; }
73
74
208
    DataTypes get_variadic_argument_types_impl() const override {
75
208
        return Impl::get_variadic_argument_types();
76
208
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
74
8
    DataTypes get_variadic_argument_types_impl() const override {
75
8
        return Impl::get_variadic_argument_types();
76
8
    }
77
78
45.6k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
45.6k
        return make_nullable(arguments[0]);
80
45.6k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
89
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
89
        return make_nullable(arguments[0]);
80
89
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
60
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
60
        return make_nullable(arguments[0]);
80
60
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
45.0k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
45.0k
        return make_nullable(arguments[0]);
80
45.0k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
41
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
41
        return make_nullable(arguments[0]);
80
41
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
6
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
6
        return make_nullable(arguments[0]);
80
6
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
298
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
298
        return make_nullable(arguments[0]);
80
298
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
11
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
11
        return make_nullable(arguments[0]);
80
11
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
4
        return make_nullable(arguments[0]);
80
4
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
41
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
41
        return make_nullable(arguments[0]);
80
41
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
37
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
37
        return make_nullable(arguments[0]);
80
37
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
2
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
2
        return make_nullable(arguments[0]);
80
2
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
31
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
31
        return make_nullable(arguments[0]);
80
31
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
78
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
79
5
        return make_nullable(arguments[0]);
80
5
    }
81
82
173k
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE40use_default_implementation_for_constantsEv
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
1.16k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
649
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
166k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
423
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
106
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
3.58k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
49
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
28
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
469
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
159
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE40use_default_implementation_for_constantsEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
14
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE40use_default_implementation_for_constantsEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
330
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE40use_default_implementation_for_constantsEv
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE40use_default_implementation_for_constantsEv
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
82
28
    bool use_default_implementation_for_constants() const final { return false; }
83
84
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
85
40.1k
                        uint32_t result, size_t input_rows_count) const override {
86
40.1k
        auto& column_left = block.get_by_position(arguments[0]).column;
87
40.1k
        auto& column_right = block.get_by_position(arguments[1]).column;
88
40.1k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
40.1k
                block.get_by_position(arguments[0]).type.get());
90
40.1k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
40.1k
                block.get_by_position(arguments[1]).type.get());
92
40.1k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
40.1k
        bool is_const_left = is_column_const(*column_left);
94
40.1k
        bool is_const_right = is_column_const(*column_right);
95
96
40.1k
        ColumnPtr column_result = nullptr;
97
40.1k
        if (is_const_left && is_const_right) {
98
65
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
65
                                              res_data_type, context->check_overflow_for_decimal());
100
40.0k
        } else if (is_const_left) {
101
1
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
1
                                            res_data_type, context->check_overflow_for_decimal());
103
40.0k
        } else if (is_const_right) {
104
37.8k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
37.8k
                                            res_data_type, context->check_overflow_for_decimal());
106
37.8k
        } else {
107
2.20k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
2.20k
                                          res_data_type, context->check_overflow_for_decimal());
109
2.20k
        }
110
40.1k
        block.replace_by_position(result, std::move(column_result));
111
40.1k
        return Status::OK();
112
40.1k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
233
                        uint32_t result, size_t input_rows_count) const override {
86
233
        auto& column_left = block.get_by_position(arguments[0]).column;
87
233
        auto& column_right = block.get_by_position(arguments[1]).column;
88
233
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
233
                block.get_by_position(arguments[0]).type.get());
90
233
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
233
                block.get_by_position(arguments[1]).type.get());
92
233
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
233
        bool is_const_left = is_column_const(*column_left);
94
233
        bool is_const_right = is_column_const(*column_right);
95
96
233
        ColumnPtr column_result = nullptr;
97
233
        if (is_const_left && is_const_right) {
98
14
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
14
                                              res_data_type, context->check_overflow_for_decimal());
100
219
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
219
        } else if (is_const_right) {
104
187
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
187
                                            res_data_type, context->check_overflow_for_decimal());
106
187
        } else {
107
32
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
32
                                          res_data_type, context->check_overflow_for_decimal());
109
32
        }
110
233
        block.replace_by_position(result, std::move(column_result));
111
233
        return Status::OK();
112
233
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
128
                        uint32_t result, size_t input_rows_count) const override {
86
128
        auto& column_left = block.get_by_position(arguments[0]).column;
87
128
        auto& column_right = block.get_by_position(arguments[1]).column;
88
128
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
128
                block.get_by_position(arguments[0]).type.get());
90
128
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
128
                block.get_by_position(arguments[1]).type.get());
92
128
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
128
        bool is_const_left = is_column_const(*column_left);
94
128
        bool is_const_right = is_column_const(*column_right);
95
96
128
        ColumnPtr column_result = nullptr;
97
128
        if (is_const_left && is_const_right) {
98
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
0
                                              res_data_type, context->check_overflow_for_decimal());
100
128
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
128
        } else if (is_const_right) {
104
87
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
87
                                            res_data_type, context->check_overflow_for_decimal());
106
87
        } else {
107
41
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
41
                                          res_data_type, context->check_overflow_for_decimal());
109
41
        }
110
128
        block.replace_by_position(result, std::move(column_result));
111
128
        return Status::OK();
112
128
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
38.1k
                        uint32_t result, size_t input_rows_count) const override {
86
38.1k
        auto& column_left = block.get_by_position(arguments[0]).column;
87
38.1k
        auto& column_right = block.get_by_position(arguments[1]).column;
88
38.1k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
38.1k
                block.get_by_position(arguments[0]).type.get());
90
38.1k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
38.1k
                block.get_by_position(arguments[1]).type.get());
92
38.1k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
38.1k
        bool is_const_left = is_column_const(*column_left);
94
38.1k
        bool is_const_right = is_column_const(*column_right);
95
96
38.1k
        ColumnPtr column_result = nullptr;
97
38.1k
        if (is_const_left && is_const_right) {
98
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
1
                                              res_data_type, context->check_overflow_for_decimal());
100
38.1k
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
38.1k
        } else if (is_const_right) {
104
37.5k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
37.5k
                                            res_data_type, context->check_overflow_for_decimal());
106
37.5k
        } else {
107
566
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
566
                                          res_data_type, context->check_overflow_for_decimal());
109
566
        }
110
38.1k
        block.replace_by_position(result, std::move(column_result));
111
38.1k
        return Status::OK();
112
38.1k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
152
                        uint32_t result, size_t input_rows_count) const override {
86
152
        auto& column_left = block.get_by_position(arguments[0]).column;
87
152
        auto& column_right = block.get_by_position(arguments[1]).column;
88
152
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
152
                block.get_by_position(arguments[0]).type.get());
90
152
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
152
                block.get_by_position(arguments[1]).type.get());
92
152
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
152
        bool is_const_left = is_column_const(*column_left);
94
152
        bool is_const_right = is_column_const(*column_right);
95
96
152
        ColumnPtr column_result = nullptr;
97
152
        if (is_const_left && is_const_right) {
98
3
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
3
                                              res_data_type, context->check_overflow_for_decimal());
100
149
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
149
        } else if (is_const_right) {
104
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
0
                                            res_data_type, context->check_overflow_for_decimal());
106
149
        } else {
107
149
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
149
                                          res_data_type, context->check_overflow_for_decimal());
109
149
        }
110
152
        block.replace_by_position(result, std::move(column_result));
111
152
        return Status::OK();
112
152
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
36
                        uint32_t result, size_t input_rows_count) const override {
86
36
        auto& column_left = block.get_by_position(arguments[0]).column;
87
36
        auto& column_right = block.get_by_position(arguments[1]).column;
88
36
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
36
                block.get_by_position(arguments[0]).type.get());
90
36
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
36
                block.get_by_position(arguments[1]).type.get());
92
36
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
36
        bool is_const_left = is_column_const(*column_left);
94
36
        bool is_const_right = is_column_const(*column_right);
95
96
36
        ColumnPtr column_result = nullptr;
97
36
        if (is_const_left && is_const_right) {
98
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
0
                                              res_data_type, context->check_overflow_for_decimal());
100
36
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
36
        } else if (is_const_right) {
104
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
0
                                            res_data_type, context->check_overflow_for_decimal());
106
36
        } else {
107
36
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
36
                                          res_data_type, context->check_overflow_for_decimal());
109
36
        }
110
36
        block.replace_by_position(result, std::move(column_result));
111
36
        return Status::OK();
112
36
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
1.14k
                        uint32_t result, size_t input_rows_count) const override {
86
1.14k
        auto& column_left = block.get_by_position(arguments[0]).column;
87
1.14k
        auto& column_right = block.get_by_position(arguments[1]).column;
88
1.14k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
1.14k
                block.get_by_position(arguments[0]).type.get());
90
1.14k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
1.14k
                block.get_by_position(arguments[1]).type.get());
92
1.14k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
1.14k
        bool is_const_left = is_column_const(*column_left);
94
1.14k
        bool is_const_right = is_column_const(*column_right);
95
96
1.14k
        ColumnPtr column_result = nullptr;
97
1.14k
        if (is_const_left && is_const_right) {
98
10
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
10
                                              res_data_type, context->check_overflow_for_decimal());
100
1.13k
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
1.13k
        } else if (is_const_right) {
104
34
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
34
                                            res_data_type, context->check_overflow_for_decimal());
106
1.10k
        } else {
107
1.10k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
1.10k
                                          res_data_type, context->check_overflow_for_decimal());
109
1.10k
        }
110
1.14k
        block.replace_by_position(result, std::move(column_result));
111
1.14k
        return Status::OK();
112
1.14k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
17
                        uint32_t result, size_t input_rows_count) const override {
86
17
        auto& column_left = block.get_by_position(arguments[0]).column;
87
17
        auto& column_right = block.get_by_position(arguments[1]).column;
88
17
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
17
                block.get_by_position(arguments[0]).type.get());
90
17
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
17
                block.get_by_position(arguments[1]).type.get());
92
17
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
17
        bool is_const_left = is_column_const(*column_left);
94
17
        bool is_const_right = is_column_const(*column_right);
95
96
17
        ColumnPtr column_result = nullptr;
97
17
        if (is_const_left && is_const_right) {
98
9
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
9
                                              res_data_type, context->check_overflow_for_decimal());
100
9
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
8
        } else if (is_const_right) {
104
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
0
                                            res_data_type, context->check_overflow_for_decimal());
106
8
        } else {
107
8
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
8
                                          res_data_type, context->check_overflow_for_decimal());
109
8
        }
110
17
        block.replace_by_position(result, std::move(column_result));
111
17
        return Status::OK();
112
17
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
9
                        uint32_t result, size_t input_rows_count) const override {
86
9
        auto& column_left = block.get_by_position(arguments[0]).column;
87
9
        auto& column_right = block.get_by_position(arguments[1]).column;
88
9
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
9
                block.get_by_position(arguments[0]).type.get());
90
9
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
9
                block.get_by_position(arguments[1]).type.get());
92
9
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
9
        bool is_const_left = is_column_const(*column_left);
94
9
        bool is_const_right = is_column_const(*column_right);
95
96
9
        ColumnPtr column_result = nullptr;
97
9
        if (is_const_left && is_const_right) {
98
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
1
                                              res_data_type, context->check_overflow_for_decimal());
100
8
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
8
        } else if (is_const_right) {
104
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
0
                                            res_data_type, context->check_overflow_for_decimal());
106
8
        } else {
107
8
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
8
                                          res_data_type, context->check_overflow_for_decimal());
109
8
        }
110
9
        block.replace_by_position(result, std::move(column_result));
111
9
        return Status::OK();
112
9
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
155
                        uint32_t result, size_t input_rows_count) const override {
86
155
        auto& column_left = block.get_by_position(arguments[0]).column;
87
155
        auto& column_right = block.get_by_position(arguments[1]).column;
88
155
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
155
                block.get_by_position(arguments[0]).type.get());
90
155
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
155
                block.get_by_position(arguments[1]).type.get());
92
155
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
155
        bool is_const_left = is_column_const(*column_left);
94
155
        bool is_const_right = is_column_const(*column_right);
95
96
155
        ColumnPtr column_result = nullptr;
97
155
        if (is_const_left && is_const_right) {
98
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
1
                                              res_data_type, context->check_overflow_for_decimal());
100
154
        } else if (is_const_left) {
101
1
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
1
                                            res_data_type, context->check_overflow_for_decimal());
103
153
        } else if (is_const_right) {
104
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
0
                                            res_data_type, context->check_overflow_for_decimal());
106
153
        } else {
107
153
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
153
                                          res_data_type, context->check_overflow_for_decimal());
109
153
        }
110
155
        block.replace_by_position(result, std::move(column_result));
111
155
        return Status::OK();
112
155
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
49
                        uint32_t result, size_t input_rows_count) const override {
86
49
        auto& column_left = block.get_by_position(arguments[0]).column;
87
49
        auto& column_right = block.get_by_position(arguments[1]).column;
88
49
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
49
                block.get_by_position(arguments[0]).type.get());
90
49
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
49
                block.get_by_position(arguments[1]).type.get());
92
49
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
49
        bool is_const_left = is_column_const(*column_left);
94
49
        bool is_const_right = is_column_const(*column_right);
95
96
49
        ColumnPtr column_result = nullptr;
97
49
        if (is_const_left && is_const_right) {
98
25
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
25
                                              res_data_type, context->check_overflow_for_decimal());
100
25
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
24
        } else if (is_const_right) {
104
24
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
24
                                            res_data_type, context->check_overflow_for_decimal());
106
24
        } else {
107
0
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
0
                                          res_data_type, context->check_overflow_for_decimal());
109
0
        }
110
49
        block.replace_by_position(result, std::move(column_result));
111
49
        return Status::OK();
112
49
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
4
                        uint32_t result, size_t input_rows_count) const override {
86
4
        auto& column_left = block.get_by_position(arguments[0]).column;
87
4
        auto& column_right = block.get_by_position(arguments[1]).column;
88
4
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
4
                block.get_by_position(arguments[0]).type.get());
90
4
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
4
                block.get_by_position(arguments[1]).type.get());
92
4
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
4
        bool is_const_left = is_column_const(*column_left);
94
4
        bool is_const_right = is_column_const(*column_right);
95
96
4
        ColumnPtr column_result = nullptr;
97
4
        if (is_const_left && is_const_right) {
98
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
0
                                              res_data_type, context->check_overflow_for_decimal());
100
4
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
4
        } else if (is_const_right) {
104
4
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
4
                                            res_data_type, context->check_overflow_for_decimal());
106
4
        } else {
107
0
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
0
                                          res_data_type, context->check_overflow_for_decimal());
109
0
        }
110
4
        block.replace_by_position(result, std::move(column_result));
111
4
        return Status::OK();
112
4
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
111
                        uint32_t result, size_t input_rows_count) const override {
86
111
        auto& column_left = block.get_by_position(arguments[0]).column;
87
111
        auto& column_right = block.get_by_position(arguments[1]).column;
88
111
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
111
                block.get_by_position(arguments[0]).type.get());
90
111
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
111
                block.get_by_position(arguments[1]).type.get());
92
111
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
111
        bool is_const_left = is_column_const(*column_left);
94
111
        bool is_const_right = is_column_const(*column_right);
95
96
111
        ColumnPtr column_result = nullptr;
97
111
        if (is_const_left && is_const_right) {
98
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
0
                                              res_data_type, context->check_overflow_for_decimal());
100
111
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
111
        } else if (is_const_right) {
104
6
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
6
                                            res_data_type, context->check_overflow_for_decimal());
106
105
        } else {
107
105
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
105
                                          res_data_type, context->check_overflow_for_decimal());
109
105
        }
110
111
        block.replace_by_position(result, std::move(column_result));
111
111
        return Status::OK();
112
111
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
85
7
                        uint32_t result, size_t input_rows_count) const override {
86
7
        auto& column_left = block.get_by_position(arguments[0]).column;
87
7
        auto& column_right = block.get_by_position(arguments[1]).column;
88
7
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
89
7
                block.get_by_position(arguments[0]).type.get());
90
7
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
91
7
                block.get_by_position(arguments[1]).type.get());
92
7
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
93
7
        bool is_const_left = is_column_const(*column_left);
94
7
        bool is_const_right = is_column_const(*column_right);
95
96
7
        ColumnPtr column_result = nullptr;
97
7
        if (is_const_left && is_const_right) {
98
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
99
1
                                              res_data_type, context->check_overflow_for_decimal());
100
6
        } else if (is_const_left) {
101
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
102
0
                                            res_data_type, context->check_overflow_for_decimal());
103
6
        } else if (is_const_right) {
104
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
105
0
                                            res_data_type, context->check_overflow_for_decimal());
106
6
        } else {
107
6
            column_result = vector_vector(column_left, column_right, type_left, type_right,
108
6
                                          res_data_type, context->check_overflow_for_decimal());
109
6
        }
110
7
        block.replace_by_position(result, std::move(column_result));
111
7
        return Status::OK();
112
7
    }
113
114
private:
115
    ColumnPtr constant_constant(ColumnPtr column_left, ColumnPtr column_right,
116
                                const typename Impl::DataTypeA* type_left,
117
                                const typename Impl::DataTypeB* type_right,
118
65
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
65
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
65
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
65
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
65
        ColumnPtr column_result = nullptr;
124
125
65
        if constexpr (result_is_decimal) {
126
27
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
1
                                        type_left, type_right, type_result);
131
132
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
1
                                        left_tmp;
134
1
                                auto left_src =
135
1
                                        column_left_ptr
136
1
                                                ->template get_value<Impl::DataTypeA::PType>();
137
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
1
                                        right_tmp;
140
1
                                auto right_src =
141
1
                                        column_right_ptr
142
1
                                                ->template get_value<Impl::DataTypeB::PType>();
143
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
1
                                column_result = Impl::constant_constant(
145
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
1
                                        max_and_multiplier.second, type_result,
147
1
                                        check_overflow_for_decimal);
148
1
                                return true;
149
1
                            })) {
150
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
0
                                    type_to_string(res_data_type->get_primitive_type()));
153
0
                }
154
26
            } else {
155
26
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
26
                                         DataTypeDecimal256>(
157
26
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
26
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
26
                                        type_left, type_right, type_result);
160
26
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
26
                                        left_tmp;
162
26
                                auto left_src =
163
26
                                        column_left_ptr
164
26
                                                ->template get_value<Impl::DataTypeA::PType>();
165
26
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
26
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
26
                                        right_tmp;
168
26
                                auto right_src =
169
26
                                        column_right_ptr
170
26
                                                ->template get_value<Impl::DataTypeB::PType>();
171
26
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
26
                                column_result = Impl::constant_constant(
173
26
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
26
                                        max_and_multiplier.second, type_result,
175
26
                                        check_overflow_for_decimal);
176
26
                                return true;
177
26
                            })) {
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
157
25
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
25
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
25
                                        type_left, type_right, type_result);
160
25
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
25
                                        left_tmp;
162
25
                                auto left_src =
163
25
                                        column_left_ptr
164
25
                                                ->template get_value<Impl::DataTypeA::PType>();
165
25
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
25
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
25
                                        right_tmp;
168
25
                                auto right_src =
169
25
                                        column_right_ptr
170
25
                                                ->template get_value<Impl::DataTypeB::PType>();
171
25
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
25
                                column_result = Impl::constant_constant(
173
25
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
25
                                        max_and_multiplier.second, type_result,
175
25
                                        check_overflow_for_decimal);
176
25
                                return true;
177
25
                            })) {
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
157
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
1
                                        type_left, type_right, type_result);
160
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
1
                                        left_tmp;
162
1
                                auto left_src =
163
1
                                        column_left_ptr
164
1
                                                ->template get_value<Impl::DataTypeA::PType>();
165
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
1
                                        right_tmp;
168
1
                                auto right_src =
169
1
                                        column_right_ptr
170
1
                                                ->template get_value<Impl::DataTypeB::PType>();
171
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
1
                                column_result = Impl::constant_constant(
173
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
1
                                        max_and_multiplier.second, type_result,
175
1
                                        check_overflow_for_decimal);
176
1
                                return true;
177
1
                            })) {
178
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
0
                                    type_to_string(res_data_type->get_primitive_type()));
181
0
                }
182
26
            }
183
38
        } else {
184
38
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
38
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
38
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
38
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
38
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
38
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
38
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
38
        }
192
193
27
        return ColumnConst::create(std::move(column_result), column_left->size());
194
65
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_3EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_4EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
14
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
14
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
14
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
14
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
14
        ColumnPtr column_result = nullptr;
124
125
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
            } else {
155
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
                                         DataTypeDecimal256>(
157
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
                                        type_left, type_right, type_result);
160
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
                                        left_tmp;
162
                                auto left_src =
163
                                        column_left_ptr
164
                                                ->template get_value<Impl::DataTypeA::PType>();
165
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
                                        right_tmp;
168
                                auto right_src =
169
                                        column_right_ptr
170
                                                ->template get_value<Impl::DataTypeB::PType>();
171
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
                                column_result = Impl::constant_constant(
173
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
                                        max_and_multiplier.second, type_result,
175
                                        check_overflow_for_decimal);
176
                                return true;
177
                            })) {
178
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
                                    type_to_string(res_data_type->get_primitive_type()));
181
                }
182
            }
183
14
        } else {
184
14
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
14
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
14
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
14
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
14
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
14
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
14
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
14
        }
192
193
14
        return ColumnConst::create(std::move(column_result), column_left->size());
194
14
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_5EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
1
        ColumnPtr column_result = nullptr;
124
125
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
            } else {
155
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
                                         DataTypeDecimal256>(
157
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
                                        type_left, type_right, type_result);
160
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
                                        left_tmp;
162
                                auto left_src =
163
                                        column_left_ptr
164
                                                ->template get_value<Impl::DataTypeA::PType>();
165
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
                                        right_tmp;
168
                                auto right_src =
169
                                        column_right_ptr
170
                                                ->template get_value<Impl::DataTypeB::PType>();
171
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
                                column_result = Impl::constant_constant(
173
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
                                        max_and_multiplier.second, type_result,
175
                                        check_overflow_for_decimal);
176
                                return true;
177
                            })) {
178
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
                                    type_to_string(res_data_type->get_primitive_type()));
181
                }
182
            }
183
1
        } else {
184
1
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
1
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
1
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
1
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
1
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
1
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
1
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
1
        }
192
193
1
        return ColumnConst::create(std::move(column_result), column_left->size());
194
1
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_7EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
3
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
3
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
3
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
3
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
3
        ColumnPtr column_result = nullptr;
124
125
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
            } else {
155
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
                                         DataTypeDecimal256>(
157
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
                                        type_left, type_right, type_result);
160
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
                                        left_tmp;
162
                                auto left_src =
163
                                        column_left_ptr
164
                                                ->template get_value<Impl::DataTypeA::PType>();
165
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
                                        right_tmp;
168
                                auto right_src =
169
                                        column_right_ptr
170
                                                ->template get_value<Impl::DataTypeB::PType>();
171
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
                                column_result = Impl::constant_constant(
173
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
                                        max_and_multiplier.second, type_result,
175
                                        check_overflow_for_decimal);
176
                                return true;
177
                            })) {
178
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
                                    type_to_string(res_data_type->get_primitive_type()));
181
                }
182
            }
183
3
        } else {
184
3
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
3
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
3
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
3
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
3
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
3
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
3
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
3
        }
192
193
3
        return ColumnConst::create(std::move(column_result), column_left->size());
194
3
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_8EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
10
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
10
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
10
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
10
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
10
        ColumnPtr column_result = nullptr;
124
125
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
            } else {
155
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
                                         DataTypeDecimal256>(
157
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
                                        type_left, type_right, type_result);
160
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
                                        left_tmp;
162
                                auto left_src =
163
                                        column_left_ptr
164
                                                ->template get_value<Impl::DataTypeA::PType>();
165
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
                                        right_tmp;
168
                                auto right_src =
169
                                        column_right_ptr
170
                                                ->template get_value<Impl::DataTypeB::PType>();
171
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
                                column_result = Impl::constant_constant(
173
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
                                        max_and_multiplier.second, type_result,
175
                                        check_overflow_for_decimal);
176
                                return true;
177
                            })) {
178
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
                                    type_to_string(res_data_type->get_primitive_type()));
181
                }
182
            }
183
10
        } else {
184
10
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
10
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
10
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
10
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
10
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
10
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
10
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
10
        }
192
193
10
        return ColumnConst::create(std::move(column_result), column_left->size());
194
10
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
9
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
9
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
9
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
9
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
9
        ColumnPtr column_result = nullptr;
124
125
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
            } else {
155
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
                                         DataTypeDecimal256>(
157
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
                                        type_left, type_right, type_result);
160
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
                                        left_tmp;
162
                                auto left_src =
163
                                        column_left_ptr
164
                                                ->template get_value<Impl::DataTypeA::PType>();
165
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
                                        right_tmp;
168
                                auto right_src =
169
                                        column_right_ptr
170
                                                ->template get_value<Impl::DataTypeB::PType>();
171
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
                                column_result = Impl::constant_constant(
173
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
                                        max_and_multiplier.second, type_result,
175
                                        check_overflow_for_decimal);
176
                                return true;
177
                            })) {
178
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
                                    type_to_string(res_data_type->get_primitive_type()));
181
                }
182
            }
183
9
        } else {
184
9
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
9
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
9
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
9
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
9
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
9
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
9
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
9
        }
192
193
9
        return ColumnConst::create(std::move(column_result), column_left->size());
194
9
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
1
        ColumnPtr column_result = nullptr;
124
125
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
            } else {
155
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
                                         DataTypeDecimal256>(
157
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
                                        type_left, type_right, type_result);
160
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
                                        left_tmp;
162
                                auto left_src =
163
                                        column_left_ptr
164
                                                ->template get_value<Impl::DataTypeA::PType>();
165
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
                                        right_tmp;
168
                                auto right_src =
169
                                        column_right_ptr
170
                                                ->template get_value<Impl::DataTypeB::PType>();
171
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
                                column_result = Impl::constant_constant(
173
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
                                        max_and_multiplier.second, type_result,
175
                                        check_overflow_for_decimal);
176
                                return true;
177
                            })) {
178
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
                                    type_to_string(res_data_type->get_primitive_type()));
181
                }
182
            }
183
1
        } else {
184
1
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
1
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
1
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
1
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
1
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
1
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
1
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
1
        }
192
193
1
        return ColumnConst::create(std::move(column_result), column_left->size());
194
1
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_20EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
1
        ColumnPtr column_result = nullptr;
124
125
1
        if constexpr (result_is_decimal) {
126
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
1
                                        type_left, type_right, type_result);
131
132
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
1
                                        left_tmp;
134
1
                                auto left_src =
135
1
                                        column_left_ptr
136
1
                                                ->template get_value<Impl::DataTypeA::PType>();
137
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
1
                                        right_tmp;
140
1
                                auto right_src =
141
1
                                        column_right_ptr
142
1
                                                ->template get_value<Impl::DataTypeB::PType>();
143
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
1
                                column_result = Impl::constant_constant(
145
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
1
                                        max_and_multiplier.second, type_result,
147
1
                                        check_overflow_for_decimal);
148
1
                                return true;
149
1
                            })) {
150
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
0
                                    type_to_string(res_data_type->get_primitive_type()));
153
0
                }
154
            } else {
155
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
                                         DataTypeDecimal256>(
157
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
                                        type_left, type_right, type_result);
160
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
                                        left_tmp;
162
                                auto left_src =
163
                                        column_left_ptr
164
                                                ->template get_value<Impl::DataTypeA::PType>();
165
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
                                        right_tmp;
168
                                auto right_src =
169
                                        column_right_ptr
170
                                                ->template get_value<Impl::DataTypeB::PType>();
171
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
                                column_result = Impl::constant_constant(
173
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
                                        max_and_multiplier.second, type_result,
175
                                        check_overflow_for_decimal);
176
                                return true;
177
                            })) {
178
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
                                    type_to_string(res_data_type->get_primitive_type()));
181
                }
182
            }
183
        } else {
184
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
        }
192
193
1
        return ColumnConst::create(std::move(column_result), column_left->size());
194
1
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
25
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
25
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
25
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
25
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
25
        ColumnPtr column_result = nullptr;
124
125
25
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
25
            } else {
155
25
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
25
                                         DataTypeDecimal256>(
157
25
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
25
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
25
                                        type_left, type_right, type_result);
160
25
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
25
                                        left_tmp;
162
25
                                auto left_src =
163
25
                                        column_left_ptr
164
25
                                                ->template get_value<Impl::DataTypeA::PType>();
165
25
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
25
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
25
                                        right_tmp;
168
25
                                auto right_src =
169
25
                                        column_right_ptr
170
25
                                                ->template get_value<Impl::DataTypeB::PType>();
171
25
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
25
                                column_result = Impl::constant_constant(
173
25
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
25
                                        max_and_multiplier.second, type_result,
175
25
                                        check_overflow_for_decimal);
176
25
                                return true;
177
25
                            })) {
178
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
0
                                    type_to_string(res_data_type->get_primitive_type()));
181
0
                }
182
25
            }
183
        } else {
184
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
        }
192
193
25
        return ColumnConst::create(std::move(column_result), column_left->size());
194
25
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
118
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
119
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
120
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
121
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
122
123
1
        ColumnPtr column_result = nullptr;
124
125
1
        if constexpr (result_is_decimal) {
126
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
127
                if (!cast_type_to_either<DataTypeDecimalV2>(
128
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
129
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
130
                                        type_left, type_right, type_result);
131
132
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
133
                                        left_tmp;
134
                                auto left_src =
135
                                        column_left_ptr
136
                                                ->template get_value<Impl::DataTypeA::PType>();
137
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
138
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
139
                                        right_tmp;
140
                                auto right_src =
141
                                        column_right_ptr
142
                                                ->template get_value<Impl::DataTypeB::PType>();
143
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
144
                                column_result = Impl::constant_constant(
145
                                        left_tmp, right_tmp, max_and_multiplier.first,
146
                                        max_and_multiplier.second, type_result,
147
                                        check_overflow_for_decimal);
148
                                return true;
149
                            })) {
150
                    throw Exception(ErrorCode::INTERNAL_ERROR,
151
                                    "Wrong type. Expected: Decimal, Actually: {}",
152
                                    type_to_string(res_data_type->get_primitive_type()));
153
                }
154
1
            } else {
155
1
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
156
1
                                         DataTypeDecimal256>(
157
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
158
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
159
1
                                        type_left, type_right, type_result);
160
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
161
1
                                        left_tmp;
162
1
                                auto left_src =
163
1
                                        column_left_ptr
164
1
                                                ->template get_value<Impl::DataTypeA::PType>();
165
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
166
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
167
1
                                        right_tmp;
168
1
                                auto right_src =
169
1
                                        column_right_ptr
170
1
                                                ->template get_value<Impl::DataTypeB::PType>();
171
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
172
1
                                column_result = Impl::constant_constant(
173
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
174
1
                                        max_and_multiplier.second, type_result,
175
1
                                        check_overflow_for_decimal);
176
1
                                return true;
177
1
                            })) {
178
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
179
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
180
0
                                    type_to_string(res_data_type->get_primitive_type()));
181
0
                }
182
1
            }
183
        } else {
184
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
185
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
186
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
187
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
188
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
189
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
190
            column_result = Impl::constant_constant(left_tmp, right_tmp);
191
        }
192
193
1
        return ColumnConst::create(std::move(column_result), column_left->size());
194
1
    }
195
196
    ColumnPtr vector_constant(ColumnPtr column_left, ColumnPtr column_right,
197
                              const typename Impl::DataTypeA* type_left,
198
                              const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
199
37.8k
                              bool check_overflow_for_decimal) const {
200
37.8k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
37.8k
        DCHECK(column_right_ptr != nullptr);
202
203
37.8k
        ColumnPtr res = nullptr;
204
37.8k
        if constexpr (result_is_decimal) {
205
34
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
0
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
0
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
0
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
0
                                        type_left, type_right, type_result);
210
0
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
0
                                auto src = column_right_ptr
212
0
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
0
                                std::memcpy(&tmp, &src, sizeof(src));
214
0
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
0
                                                            max_and_multiplier.first,
216
0
                                                            max_and_multiplier.second, type_result,
217
0
                                                            check_overflow_for_decimal);
218
0
                                return true;
219
0
                            })) {
220
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
0
                                    type_to_string(res_data_type->get_primitive_type()));
223
0
                }
224
34
            } else {
225
34
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
34
                                         DataTypeDecimal256>(
227
34
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
34
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
34
                                        type_left, type_right, type_result);
230
34
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
34
                                auto src = column_right_ptr
232
34
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
34
                                std::memcpy(&tmp, &src, sizeof(src));
234
34
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
34
                                                            max_and_multiplier.first,
236
34
                                                            max_and_multiplier.second, type_result,
237
34
                                                            check_overflow_for_decimal);
238
34
                                return true;
239
34
                            })) {
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
227
24
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
24
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
24
                                        type_left, type_right, type_result);
230
24
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
24
                                auto src = column_right_ptr
232
24
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
24
                                std::memcpy(&tmp, &src, sizeof(src));
234
24
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
24
                                                            max_and_multiplier.first,
236
24
                                                            max_and_multiplier.second, type_result,
237
24
                                                            check_overflow_for_decimal);
238
24
                                return true;
239
24
                            })) {
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
227
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
4
                                        type_left, type_right, type_result);
230
4
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
4
                                auto src = column_right_ptr
232
4
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
4
                                std::memcpy(&tmp, &src, sizeof(src));
234
4
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
4
                                                            max_and_multiplier.first,
236
4
                                                            max_and_multiplier.second, type_result,
237
4
                                                            check_overflow_for_decimal);
238
4
                                return true;
239
4
                            })) {
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
227
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
6
                                        type_left, type_right, type_result);
230
6
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
6
                                auto src = column_right_ptr
232
6
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
6
                                std::memcpy(&tmp, &src, sizeof(src));
234
6
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
6
                                                            max_and_multiplier.first,
236
6
                                                            max_and_multiplier.second, type_result,
237
6
                                                            check_overflow_for_decimal);
238
6
                                return true;
239
6
                            })) {
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
240
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
0
                                    type_to_string(res_data_type->get_primitive_type()));
243
0
                }
244
34
            }
245
37.8k
        } else {
246
37.8k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
37.8k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
37.8k
            std::memcpy(&tmp, &src, sizeof(src));
249
37.8k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
37.8k
        }
251
34
        return res;
252
37.8k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_3EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_4EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
199
186
                              bool check_overflow_for_decimal) const {
200
186
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
186
        DCHECK(column_right_ptr != nullptr);
202
203
186
        ColumnPtr res = nullptr;
204
        if constexpr (result_is_decimal) {
205
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
                                        type_left, type_right, type_result);
210
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
                                auto src = column_right_ptr
212
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
                                std::memcpy(&tmp, &src, sizeof(src));
214
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
                                                            max_and_multiplier.first,
216
                                                            max_and_multiplier.second, type_result,
217
                                                            check_overflow_for_decimal);
218
                                return true;
219
                            })) {
220
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
                                    type_to_string(res_data_type->get_primitive_type()));
223
                }
224
            } else {
225
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
                                         DataTypeDecimal256>(
227
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
                                        type_left, type_right, type_result);
230
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
                                auto src = column_right_ptr
232
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
                                std::memcpy(&tmp, &src, sizeof(src));
234
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
                                                            max_and_multiplier.first,
236
                                                            max_and_multiplier.second, type_result,
237
                                                            check_overflow_for_decimal);
238
                                return true;
239
                            })) {
240
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
                                    type_to_string(res_data_type->get_primitive_type()));
243
                }
244
            }
245
186
        } else {
246
186
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
186
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
186
            std::memcpy(&tmp, &src, sizeof(src));
249
186
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
186
        }
251
186
        return res;
252
186
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_5EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
199
87
                              bool check_overflow_for_decimal) const {
200
87
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
87
        DCHECK(column_right_ptr != nullptr);
202
203
87
        ColumnPtr res = nullptr;
204
        if constexpr (result_is_decimal) {
205
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
                                        type_left, type_right, type_result);
210
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
                                auto src = column_right_ptr
212
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
                                std::memcpy(&tmp, &src, sizeof(src));
214
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
                                                            max_and_multiplier.first,
216
                                                            max_and_multiplier.second, type_result,
217
                                                            check_overflow_for_decimal);
218
                                return true;
219
                            })) {
220
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
                                    type_to_string(res_data_type->get_primitive_type()));
223
                }
224
            } else {
225
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
                                         DataTypeDecimal256>(
227
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
                                        type_left, type_right, type_result);
230
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
                                auto src = column_right_ptr
232
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
                                std::memcpy(&tmp, &src, sizeof(src));
234
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
                                                            max_and_multiplier.first,
236
                                                            max_and_multiplier.second, type_result,
237
                                                            check_overflow_for_decimal);
238
                                return true;
239
                            })) {
240
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
                                    type_to_string(res_data_type->get_primitive_type()));
243
                }
244
            }
245
87
        } else {
246
87
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
87
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
87
            std::memcpy(&tmp, &src, sizeof(src));
249
87
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
87
        }
251
87
        return res;
252
87
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
199
37.5k
                              bool check_overflow_for_decimal) const {
200
37.5k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
37.5k
        DCHECK(column_right_ptr != nullptr);
202
203
37.5k
        ColumnPtr res = nullptr;
204
        if constexpr (result_is_decimal) {
205
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
                                        type_left, type_right, type_result);
210
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
                                auto src = column_right_ptr
212
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
                                std::memcpy(&tmp, &src, sizeof(src));
214
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
                                                            max_and_multiplier.first,
216
                                                            max_and_multiplier.second, type_result,
217
                                                            check_overflow_for_decimal);
218
                                return true;
219
                            })) {
220
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
                                    type_to_string(res_data_type->get_primitive_type()));
223
                }
224
            } else {
225
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
                                         DataTypeDecimal256>(
227
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
                                        type_left, type_right, type_result);
230
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
                                auto src = column_right_ptr
232
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
                                std::memcpy(&tmp, &src, sizeof(src));
234
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
                                                            max_and_multiplier.first,
236
                                                            max_and_multiplier.second, type_result,
237
                                                            check_overflow_for_decimal);
238
                                return true;
239
                            })) {
240
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
                                    type_to_string(res_data_type->get_primitive_type()));
243
                }
244
            }
245
37.5k
        } else {
246
37.5k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
37.5k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
37.5k
            std::memcpy(&tmp, &src, sizeof(src));
249
37.5k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
37.5k
        }
251
37.5k
        return res;
252
37.5k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_7EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_8EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
199
34
                              bool check_overflow_for_decimal) const {
200
34
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
34
        DCHECK(column_right_ptr != nullptr);
202
203
34
        ColumnPtr res = nullptr;
204
        if constexpr (result_is_decimal) {
205
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
                                        type_left, type_right, type_result);
210
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
                                auto src = column_right_ptr
212
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
                                std::memcpy(&tmp, &src, sizeof(src));
214
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
                                                            max_and_multiplier.first,
216
                                                            max_and_multiplier.second, type_result,
217
                                                            check_overflow_for_decimal);
218
                                return true;
219
                            })) {
220
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
                                    type_to_string(res_data_type->get_primitive_type()));
223
                }
224
            } else {
225
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
                                         DataTypeDecimal256>(
227
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
                                        type_left, type_right, type_result);
230
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
                                auto src = column_right_ptr
232
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
                                std::memcpy(&tmp, &src, sizeof(src));
234
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
                                                            max_and_multiplier.first,
236
                                                            max_and_multiplier.second, type_result,
237
                                                            check_overflow_for_decimal);
238
                                return true;
239
                            })) {
240
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
                                    type_to_string(res_data_type->get_primitive_type()));
243
                }
244
            }
245
34
        } else {
246
34
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
34
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
34
            std::memcpy(&tmp, &src, sizeof(src));
249
34
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
34
        }
251
34
        return res;
252
34
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_20EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
199
24
                              bool check_overflow_for_decimal) const {
200
24
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
24
        DCHECK(column_right_ptr != nullptr);
202
203
24
        ColumnPtr res = nullptr;
204
24
        if constexpr (result_is_decimal) {
205
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
                                        type_left, type_right, type_result);
210
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
                                auto src = column_right_ptr
212
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
                                std::memcpy(&tmp, &src, sizeof(src));
214
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
                                                            max_and_multiplier.first,
216
                                                            max_and_multiplier.second, type_result,
217
                                                            check_overflow_for_decimal);
218
                                return true;
219
                            })) {
220
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
                                    type_to_string(res_data_type->get_primitive_type()));
223
                }
224
24
            } else {
225
24
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
24
                                         DataTypeDecimal256>(
227
24
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
24
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
24
                                        type_left, type_right, type_result);
230
24
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
24
                                auto src = column_right_ptr
232
24
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
24
                                std::memcpy(&tmp, &src, sizeof(src));
234
24
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
24
                                                            max_and_multiplier.first,
236
24
                                                            max_and_multiplier.second, type_result,
237
24
                                                            check_overflow_for_decimal);
238
24
                                return true;
239
24
                            })) {
240
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
0
                                    type_to_string(res_data_type->get_primitive_type()));
243
0
                }
244
24
            }
245
        } else {
246
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
            std::memcpy(&tmp, &src, sizeof(src));
249
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
        }
251
24
        return res;
252
24
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
199
4
                              bool check_overflow_for_decimal) const {
200
4
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
4
        DCHECK(column_right_ptr != nullptr);
202
203
4
        ColumnPtr res = nullptr;
204
4
        if constexpr (result_is_decimal) {
205
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
                                        type_left, type_right, type_result);
210
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
                                auto src = column_right_ptr
212
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
                                std::memcpy(&tmp, &src, sizeof(src));
214
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
                                                            max_and_multiplier.first,
216
                                                            max_and_multiplier.second, type_result,
217
                                                            check_overflow_for_decimal);
218
                                return true;
219
                            })) {
220
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
                                    type_to_string(res_data_type->get_primitive_type()));
223
                }
224
4
            } else {
225
4
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
4
                                         DataTypeDecimal256>(
227
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
4
                                        type_left, type_right, type_result);
230
4
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
4
                                auto src = column_right_ptr
232
4
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
4
                                std::memcpy(&tmp, &src, sizeof(src));
234
4
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
4
                                                            max_and_multiplier.first,
236
4
                                                            max_and_multiplier.second, type_result,
237
4
                                                            check_overflow_for_decimal);
238
4
                                return true;
239
4
                            })) {
240
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
0
                                    type_to_string(res_data_type->get_primitive_type()));
243
0
                }
244
4
            }
245
        } else {
246
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
            std::memcpy(&tmp, &src, sizeof(src));
249
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
        }
251
4
        return res;
252
4
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
199
6
                              bool check_overflow_for_decimal) const {
200
6
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
201
6
        DCHECK(column_right_ptr != nullptr);
202
203
6
        ColumnPtr res = nullptr;
204
6
        if constexpr (result_is_decimal) {
205
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
206
                if (!cast_type_to_either<DataTypeDecimalV2>(
207
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
208
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
209
                                        type_left, type_right, type_result);
210
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
211
                                auto src = column_right_ptr
212
                                                   ->template get_value<Impl::DataTypeB::PType>();
213
                                std::memcpy(&tmp, &src, sizeof(src));
214
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
215
                                                            max_and_multiplier.first,
216
                                                            max_and_multiplier.second, type_result,
217
                                                            check_overflow_for_decimal);
218
                                return true;
219
                            })) {
220
                    throw Exception(ErrorCode::INTERNAL_ERROR,
221
                                    "Wrong type. Expected: Decimal, Actually: {}",
222
                                    type_to_string(res_data_type->get_primitive_type()));
223
                }
224
6
            } else {
225
6
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
226
6
                                         DataTypeDecimal256>(
227
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
228
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
229
6
                                        type_left, type_right, type_result);
230
6
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
231
6
                                auto src = column_right_ptr
232
6
                                                   ->template get_value<Impl::DataTypeB::PType>();
233
6
                                std::memcpy(&tmp, &src, sizeof(src));
234
6
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
235
6
                                                            max_and_multiplier.first,
236
6
                                                            max_and_multiplier.second, type_result,
237
6
                                                            check_overflow_for_decimal);
238
6
                                return true;
239
6
                            })) {
240
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
241
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
242
0
                                    type_to_string(res_data_type->get_primitive_type()));
243
0
                }
244
6
            }
245
        } else {
246
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
247
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
248
            std::memcpy(&tmp, &src, sizeof(src));
249
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
250
        }
251
6
        return res;
252
6
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEb
253
254
    ColumnPtr constant_vector(ColumnPtr column_left, ColumnPtr column_right,
255
                              const typename Impl::DataTypeA* type_left,
256
                              const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
257
1
                              bool check_overflow_for_decimal) const {
258
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
259
1
        DCHECK(column_left_ptr != nullptr);
260
261
1
        ColumnPtr res = nullptr;
262
1
        if constexpr (result_is_decimal) {
263
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
264
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
265
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
266
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
267
1
                                        type_left, type_right, type_result);
268
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
269
1
                                auto src = column_left_ptr
270
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
271
1
                                std::memcpy(&tmp, &src, sizeof(src));
272
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
273
1
                                                            max_and_multiplier.first,
274
1
                                                            max_and_multiplier.second, type_result,
275
1
                                                            check_overflow_for_decimal);
276
1
                                return true;
277
1
                            })) {
278
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
279
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
280
0
                                    type_to_string(res_data_type->get_primitive_type()));
281
0
                }
282
1
            } else {
283
0
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
284
0
                                         DataTypeDecimal256>(
285
0
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
286
0
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
287
0
                                        type_left, type_right, type_result);
288
0
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
289
0
                                auto src = column_left_ptr
290
0
                                                   ->template get_value<Impl::DataTypeA::PType>();
291
0
                                std::memcpy(&tmp, &src, sizeof(src));
292
0
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
293
0
                                                            max_and_multiplier.first,
294
0
                                                            max_and_multiplier.second, type_result,
295
0
                                                            check_overflow_for_decimal);
296
0
                                return true;
297
0
                            })) {
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
298
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
299
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
300
0
                                    type_to_string(res_data_type->get_primitive_type()));
301
0
                }
302
0
            }
303
1
        } else {
304
0
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
305
0
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
306
0
            std::memcpy(&tmp, &src, sizeof(src));
307
0
            res = Impl::constant_vector(tmp, column_right->get_ptr());
308
0
        }
309
1
        return res;
310
1
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_3EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_4EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_5EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_7EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_8EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_20EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
257
1
                              bool check_overflow_for_decimal) const {
258
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
259
1
        DCHECK(column_left_ptr != nullptr);
260
261
1
        ColumnPtr res = nullptr;
262
1
        if constexpr (result_is_decimal) {
263
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
264
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
265
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
266
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
267
1
                                        type_left, type_right, type_result);
268
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
269
1
                                auto src = column_left_ptr
270
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
271
1
                                std::memcpy(&tmp, &src, sizeof(src));
272
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
273
1
                                                            max_and_multiplier.first,
274
1
                                                            max_and_multiplier.second, type_result,
275
1
                                                            check_overflow_for_decimal);
276
1
                                return true;
277
1
                            })) {
278
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
279
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
280
0
                                    type_to_string(res_data_type->get_primitive_type()));
281
0
                }
282
            } else {
283
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
284
                                         DataTypeDecimal256>(
285
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
286
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
287
                                        type_left, type_right, type_result);
288
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
289
                                auto src = column_left_ptr
290
                                                   ->template get_value<Impl::DataTypeA::PType>();
291
                                std::memcpy(&tmp, &src, sizeof(src));
292
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
293
                                                            max_and_multiplier.first,
294
                                                            max_and_multiplier.second, type_result,
295
                                                            check_overflow_for_decimal);
296
                                return true;
297
                            })) {
298
                    throw Exception(ErrorCode::INTERNAL_ERROR,
299
                                    "Wrong type. Expected: Decimal, Actually: {}",
300
                                    type_to_string(res_data_type->get_primitive_type()));
301
                }
302
            }
303
        } else {
304
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
305
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
306
            std::memcpy(&tmp, &src, sizeof(src));
307
            res = Impl::constant_vector(tmp, column_right->get_ptr());
308
        }
309
1
        return res;
310
1
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEb
311
312
    ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right,
313
                            const typename Impl::DataTypeA* type_left,
314
                            const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
315
2.22k
                            bool check_overflow_for_decimal) const {
316
2.22k
        ColumnPtr res = nullptr;
317
2.22k
        if constexpr (result_is_decimal) {
318
264
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
153
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
153
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
153
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
153
                                        type_left, type_right, type_result);
323
153
                                res = Impl::vector_vector(
324
153
                                        column_left->get_ptr(), column_right->get_ptr(),
325
153
                                        max_and_multiplier.first, max_and_multiplier.second,
326
153
                                        type_result, check_overflow_for_decimal);
327
153
                                return true;
328
153
                            })) {
329
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
0
                                    type_to_string(res_data_type->get_primitive_type()));
332
0
                }
333
153
            } else {
334
111
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
111
                                         DataTypeDecimal256>(
336
111
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
111
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
111
                                        type_left, type_right, type_result);
339
111
                                res = Impl::vector_vector(
340
111
                                        column_left->get_ptr(), column_right->get_ptr(),
341
111
                                        max_and_multiplier.first, max_and_multiplier.second,
342
111
                                        type_result, check_overflow_for_decimal);
343
111
                                return true;
344
111
                            })) {
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
336
105
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
105
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
105
                                        type_left, type_right, type_result);
339
105
                                res = Impl::vector_vector(
340
105
                                        column_left->get_ptr(), column_right->get_ptr(),
341
105
                                        max_and_multiplier.first, max_and_multiplier.second,
342
105
                                        type_result, check_overflow_for_decimal);
343
105
                                return true;
344
105
                            })) {
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_35EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISG_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSP_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_28EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_29EEEEEDaSM_
Unexecuted instantiation: _ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSC_ILS3_30EEEEEDaSM_
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
336
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
6
                                        type_left, type_right, type_result);
339
6
                                res = Impl::vector_vector(
340
6
                                        column_left->get_ptr(), column_right->get_ptr(),
341
6
                                        max_and_multiplier.first, max_and_multiplier.second,
342
6
                                        type_result, check_overflow_for_decimal);
343
6
                                return true;
344
6
                            })) {
345
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
0
                                    type_to_string(res_data_type->get_primitive_type()));
348
0
                }
349
111
            }
350
1.96k
        } else {
351
1.96k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
1.96k
        }
353
264
        return res;
354
2.22k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_3EEESF_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_4EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
32
                            bool check_overflow_for_decimal) const {
316
32
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
32
        } else {
351
32
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
32
        }
353
32
        return res;
354
32
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_5EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
41
                            bool check_overflow_for_decimal) const {
316
41
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
41
        } else {
351
41
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
41
        }
353
41
        return res;
354
41
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
578
                            bool check_overflow_for_decimal) const {
316
578
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
578
        } else {
351
578
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
578
        }
353
578
        return res;
354
578
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_7EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
151
                            bool check_overflow_for_decimal) const {
316
151
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
151
        } else {
351
151
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
151
        }
353
151
        return res;
354
151
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_8EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
36
                            bool check_overflow_for_decimal) const {
316
36
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
36
        } else {
351
36
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
36
        }
353
36
        return res;
354
36
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
1.10k
                            bool check_overflow_for_decimal) const {
316
1.10k
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
1.10k
        } else {
351
1.10k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
1.10k
        }
353
1.10k
        return res;
354
1.10k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
8
                            bool check_overflow_for_decimal) const {
316
8
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
8
        } else {
351
8
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
8
        }
353
8
        return res;
354
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
8
                            bool check_overflow_for_decimal) const {
316
8
        ColumnPtr res = nullptr;
317
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
8
        } else {
351
8
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
8
        }
353
8
        return res;
354
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_20EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
153
                            bool check_overflow_for_decimal) const {
316
153
        ColumnPtr res = nullptr;
317
153
        if constexpr (result_is_decimal) {
318
153
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
153
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
153
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
153
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
153
                                        type_left, type_right, type_result);
323
153
                                res = Impl::vector_vector(
324
153
                                        column_left->get_ptr(), column_right->get_ptr(),
325
153
                                        max_and_multiplier.first, max_and_multiplier.second,
326
153
                                        type_result, check_overflow_for_decimal);
327
153
                                return true;
328
153
                            })) {
329
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
0
                                    type_to_string(res_data_type->get_primitive_type()));
332
0
                }
333
            } else {
334
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
                                         DataTypeDecimal256>(
336
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
                                        type_left, type_right, type_result);
339
                                res = Impl::vector_vector(
340
                                        column_left->get_ptr(), column_right->get_ptr(),
341
                                        max_and_multiplier.first, max_and_multiplier.second,
342
                                        type_result, check_overflow_for_decimal);
343
                                return true;
344
                            })) {
345
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
                                    type_to_string(res_data_type->get_primitive_type()));
348
                }
349
            }
350
        } else {
351
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
        }
353
153
        return res;
354
153
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_29EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
105
                            bool check_overflow_for_decimal) const {
316
105
        ColumnPtr res = nullptr;
317
105
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
105
            } else {
334
105
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
105
                                         DataTypeDecimal256>(
336
105
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
105
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
105
                                        type_left, type_right, type_result);
339
105
                                res = Impl::vector_vector(
340
105
                                        column_left->get_ptr(), column_right->get_ptr(),
341
105
                                        max_and_multiplier.first, max_and_multiplier.second,
342
105
                                        type_result, check_overflow_for_decimal);
343
105
                                return true;
344
105
                            })) {
345
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
0
                                    type_to_string(res_data_type->get_primitive_type()));
348
0
                }
349
105
            }
350
        } else {
351
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
        }
353
105
        return res;
354
105
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_30EEEPKNSC_ILS3_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEEPKNSC_ILS3_30EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_35EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
315
6
                            bool check_overflow_for_decimal) const {
316
6
        ColumnPtr res = nullptr;
317
6
        if constexpr (result_is_decimal) {
318
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
319
                if (!cast_type_to_either<DataTypeDecimalV2>(
320
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
321
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
322
                                        type_left, type_right, type_result);
323
                                res = Impl::vector_vector(
324
                                        column_left->get_ptr(), column_right->get_ptr(),
325
                                        max_and_multiplier.first, max_and_multiplier.second,
326
                                        type_result, check_overflow_for_decimal);
327
                                return true;
328
                            })) {
329
                    throw Exception(ErrorCode::INTERNAL_ERROR,
330
                                    "Wrong type. Expected: Decimal, Actually: {}",
331
                                    type_to_string(res_data_type->get_primitive_type()));
332
                }
333
6
            } else {
334
6
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
335
6
                                         DataTypeDecimal256>(
336
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
337
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
338
6
                                        type_left, type_right, type_result);
339
6
                                res = Impl::vector_vector(
340
6
                                        column_left->get_ptr(), column_right->get_ptr(),
341
6
                                        max_and_multiplier.first, max_and_multiplier.second,
342
6
                                        type_result, check_overflow_for_decimal);
343
6
                                return true;
344
6
                            })) {
345
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
346
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
347
0
                                    type_to_string(res_data_type->get_primitive_type()));
348
0
                }
349
6
            }
350
        } else {
351
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
352
        }
353
6
        return res;
354
6
    }
355
};
356
357
static const DecimalV2Value one(1, 0);
358
359
template <typename Impl>
360
struct ModNumericImpl {
361
    static constexpr auto name = Impl::name;
362
    static constexpr bool result_is_decimal = false;
363
    using ArgA = typename Impl::ArgA;
364
    using ArgB = typename Impl::ArgB;
365
    using ColumnType = typename Impl::ColumnType;
366
    using DataTypeA = typename Impl::DataTypeA;
367
    using DataTypeB = typename Impl::DataTypeB;
368
369
    constexpr static bool need_replace_null_data_to_default = false;
370
371
72
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE27get_variadic_argument_typesEv
Line
Count
Source
371
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
372
373
38
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
374
38
        auto column_result = ColumnType ::create(1);
375
376
38
        auto null_map = ColumnUInt8::create(1, 0);
377
38
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
378
38
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
379
38
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE17constant_constantEaa
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE17constant_constantEss
Line
Count
Source
373
14
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
374
14
        auto column_result = ColumnType ::create(1);
375
376
14
        auto null_map = ColumnUInt8::create(1, 0);
377
14
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
378
14
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
379
14
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE17constant_constantEii
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE17constant_constantEll
Line
Count
Source
373
1
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
374
1
        auto column_result = ColumnType ::create(1);
375
376
1
        auto null_map = ColumnUInt8::create(1, 0);
377
1
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
378
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
379
1
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE17constant_constantEnn
Line
Count
Source
373
3
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
374
3
        auto column_result = ColumnType ::create(1);
375
376
3
        auto null_map = ColumnUInt8::create(1, 0);
377
3
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
378
3
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
379
3
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE17constant_constantEff
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE17constant_constantEdd
Line
Count
Source
373
10
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
374
10
        auto column_result = ColumnType ::create(1);
375
376
10
        auto null_map = ColumnUInt8::create(1, 0);
377
10
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
378
10
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
379
10
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE17constant_constantEll
Line
Count
Source
373
9
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
374
9
        auto column_result = ColumnType ::create(1);
375
376
9
        auto null_map = ColumnUInt8::create(1, 0);
377
9
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
378
9
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
379
9
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE17constant_constantEdd
Line
Count
Source
373
1
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
374
1
        auto column_result = ColumnType ::create(1);
375
376
1
        auto null_map = ColumnUInt8::create(1, 0);
377
1
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
378
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
379
1
    }
380
381
37.8k
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
382
37.8k
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
383
37.8k
        auto column_result = ColumnType::create(column_left->size());
384
37.8k
        DCHECK(column_left_ptr != nullptr);
385
386
37.8k
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
387
37.8k
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
388
37.8k
                    null_map->get_data());
389
37.8k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
390
37.8k
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEa
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEs
Line
Count
Source
381
187
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
382
187
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
383
187
        auto column_result = ColumnType::create(column_left->size());
384
187
        DCHECK(column_left_ptr != nullptr);
385
386
187
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
387
187
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
388
187
                    null_map->get_data());
389
187
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
390
187
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEi
Line
Count
Source
381
87
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
382
87
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
383
87
        auto column_result = ColumnType::create(column_left->size());
384
87
        DCHECK(column_left_ptr != nullptr);
385
386
87
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
387
87
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
388
87
                    null_map->get_data());
389
87
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
390
87
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEl
Line
Count
Source
381
37.5k
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
382
37.5k
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
383
37.5k
        auto column_result = ColumnType::create(column_left->size());
384
37.5k
        DCHECK(column_left_ptr != nullptr);
385
386
37.5k
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
387
37.5k
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
388
37.5k
                    null_map->get_data());
389
37.5k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
390
37.5k
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEn
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEf
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEd
Line
Count
Source
381
34
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
382
34
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
383
34
        auto column_result = ColumnType::create(column_left->size());
384
34
        DCHECK(column_left_ptr != nullptr);
385
386
34
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
387
34
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
388
34
                    null_map->get_data());
389
34
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
390
34
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEl
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEd
391
392
0
    static ColumnPtr constant_vector(ArgA a, ColumnPtr column_right) {
393
0
        const auto column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
394
0
        auto column_result = ColumnType::create(column_right->size());
395
0
        DCHECK(column_right_ptr != nullptr);
396
397
0
        auto null_map = ColumnUInt8::create(column_right->size(), 0);
398
0
        auto& b = column_right_ptr->get_data();
399
0
        auto& c = column_result->get_data();
400
0
        auto& n = null_map->get_data();
401
0
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
402
0
            Impl::apply(a, b, c, n);
403
0
        } else {
404
0
            size_t size = b.size();
405
0
            for (size_t i = 0; i < size; ++i) {
406
0
                c[i] = Impl::apply(a, b[i], n[i]);
407
0
            }
408
0
        }
409
0
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
410
0
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE15constant_vectorEaNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE15constant_vectorEsNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE15constant_vectorEiNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE15constant_vectorElNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE15constant_vectorEnNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE15constant_vectorEfNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE15constant_vectorEdNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE15constant_vectorElNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE15constant_vectorEdNS_3COWINS_7IColumnEE13immutable_ptrIS6_EE
411
412
1.95k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
1.95k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
1.95k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
1.95k
        auto column_result = ColumnType::create(column_left->size());
417
1.95k
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
1.95k
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
1.95k
        auto& a = column_left_ptr->get_data();
421
1.95k
        auto& b = column_right_ptr->get_data();
422
1.95k
        auto& c = column_result->get_data();
423
1.95k
        auto& n = null_map->get_data();
424
1.95k
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
1.94k
            Impl::apply(a, b, c, n);
426
1.94k
        } else {
427
16
            size_t size = a.size();
428
66
            for (size_t i = 0; i < size; ++i) {
429
50
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
50
            }
431
16
        }
432
1.95k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
1.95k
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
32
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
32
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
32
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
32
        auto column_result = ColumnType::create(column_left->size());
417
32
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
32
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
32
        auto& a = column_left_ptr->get_data();
421
32
        auto& b = column_right_ptr->get_data();
422
32
        auto& c = column_result->get_data();
423
32
        auto& n = null_map->get_data();
424
32
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
32
            Impl::apply(a, b, c, n);
426
        } else {
427
            size_t size = a.size();
428
            for (size_t i = 0; i < size; ++i) {
429
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
            }
431
        }
432
32
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
32
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
41
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
41
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
41
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
41
        auto column_result = ColumnType::create(column_left->size());
417
41
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
41
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
41
        auto& a = column_left_ptr->get_data();
421
41
        auto& b = column_right_ptr->get_data();
422
41
        auto& c = column_result->get_data();
423
41
        auto& n = null_map->get_data();
424
41
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
41
            Impl::apply(a, b, c, n);
426
        } else {
427
            size_t size = a.size();
428
            for (size_t i = 0; i < size; ++i) {
429
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
            }
431
        }
432
41
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
41
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
575
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
575
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
575
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
575
        auto column_result = ColumnType::create(column_left->size());
417
575
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
575
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
575
        auto& a = column_left_ptr->get_data();
421
575
        auto& b = column_right_ptr->get_data();
422
575
        auto& c = column_result->get_data();
423
575
        auto& n = null_map->get_data();
424
575
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
575
            Impl::apply(a, b, c, n);
426
        } else {
427
            size_t size = a.size();
428
            for (size_t i = 0; i < size; ++i) {
429
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
            }
431
        }
432
575
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
575
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
151
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
151
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
151
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
151
        auto column_result = ColumnType::create(column_left->size());
417
151
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
151
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
151
        auto& a = column_left_ptr->get_data();
421
151
        auto& b = column_right_ptr->get_data();
422
151
        auto& c = column_result->get_data();
423
151
        auto& n = null_map->get_data();
424
151
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
151
            Impl::apply(a, b, c, n);
426
        } else {
427
            size_t size = a.size();
428
            for (size_t i = 0; i < size; ++i) {
429
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
            }
431
        }
432
151
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
151
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
36
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
36
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
36
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
36
        auto column_result = ColumnType::create(column_left->size());
417
36
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
36
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
36
        auto& a = column_left_ptr->get_data();
421
36
        auto& b = column_right_ptr->get_data();
422
36
        auto& c = column_result->get_data();
423
36
        auto& n = null_map->get_data();
424
36
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
36
            Impl::apply(a, b, c, n);
426
        } else {
427
            size_t size = a.size();
428
            for (size_t i = 0; i < size; ++i) {
429
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
            }
431
        }
432
36
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
36
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
1.10k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
1.10k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
1.10k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
1.10k
        auto column_result = ColumnType::create(column_left->size());
417
1.10k
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
1.10k
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
1.10k
        auto& a = column_left_ptr->get_data();
421
1.10k
        auto& b = column_right_ptr->get_data();
422
1.10k
        auto& c = column_result->get_data();
423
1.10k
        auto& n = null_map->get_data();
424
1.10k
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
1.10k
            Impl::apply(a, b, c, n);
426
        } else {
427
            size_t size = a.size();
428
            for (size_t i = 0; i < size; ++i) {
429
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
            }
431
        }
432
1.10k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
1.10k
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
8
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
8
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
8
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
8
        auto column_result = ColumnType::create(column_left->size());
417
8
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
8
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
8
        auto& a = column_left_ptr->get_data();
421
8
        auto& b = column_right_ptr->get_data();
422
8
        auto& c = column_result->get_data();
423
8
        auto& n = null_map->get_data();
424
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
            Impl::apply(a, b, c, n);
426
8
        } else {
427
8
            size_t size = a.size();
428
33
            for (size_t i = 0; i < size; ++i) {
429
25
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
25
            }
431
8
        }
432
8
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
8
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
412
8
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
413
8
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
414
8
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
415
416
8
        auto column_result = ColumnType::create(column_left->size());
417
8
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
418
419
8
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
420
8
        auto& a = column_left_ptr->get_data();
421
8
        auto& b = column_right_ptr->get_data();
422
8
        auto& c = column_result->get_data();
423
8
        auto& n = null_map->get_data();
424
        if constexpr (requires { Impl::apply(a, b, c, n); }) {
425
            Impl::apply(a, b, c, n);
426
8
        } else {
427
8
            size_t size = a.size();
428
33
            for (size_t i = 0; i < size; ++i) {
429
25
                c[i] = Impl::apply(a[i], b[i], n[i]);
430
25
            }
431
8
        }
432
8
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
433
8
    }
434
};
435
436
template <PrimitiveType Type>
437
struct ModuloNumericImpl {
438
    static constexpr auto name = "mod";
439
    using ArgA = typename PrimitiveTypeTraits<Type>::CppType;
440
    using ArgB = typename PrimitiveTypeTraits<Type>::CppType;
441
    using ColumnType = typename PrimitiveTypeTraits<Type>::ColumnType;
442
    using DataTypeA = typename PrimitiveTypeTraits<Type>::DataType;
443
    using DataTypeB = typename PrimitiveTypeTraits<Type>::DataType;
444
445
56
    static DataTypes get_variadic_argument_types() {
446
56
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
56
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
56
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE27get_variadic_argument_typesEv
Line
Count
Source
445
8
    static DataTypes get_variadic_argument_types() {
446
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE27get_variadic_argument_typesEv
Line
Count
Source
445
8
    static DataTypes get_variadic_argument_types() {
446
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE27get_variadic_argument_typesEv
Line
Count
Source
445
8
    static DataTypes get_variadic_argument_types() {
446
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE27get_variadic_argument_typesEv
Line
Count
Source
445
8
    static DataTypes get_variadic_argument_types() {
446
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE27get_variadic_argument_typesEv
Line
Count
Source
445
8
    static DataTypes get_variadic_argument_types() {
446
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE27get_variadic_argument_typesEv
Line
Count
Source
445
8
    static DataTypes get_variadic_argument_types() {
446
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE27get_variadic_argument_typesEv
Line
Count
Source
445
8
    static DataTypes get_variadic_argument_types() {
446
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
447
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
448
8
    }
449
450
    static void apply(const typename ColumnType::Container& a, ArgB b,
451
37.8k
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
452
37.8k
        size_t size = c.size();
453
37.8k
        if constexpr (is_float_or_double(Type)) {
454
34
            fmod_fast::vector_constant(a.data(), b, c.data(), null_map.data(), size);
455
37.8k
        } else {
456
37.8k
            UInt8 is_null = b == 0;
457
37.8k
            memset(null_map.data(), is_null, sizeof(UInt8) * size);
458
37.8k
            if (is_null) {
459
8
                return;
460
8
            }
461
16.3M
            for (size_t i = 0; i < size; i++) {
462
16.3M
                throw_if_division_leads_to_FPE(a[i], b);
463
16.3M
                c[i] = a[i] % b;
464
16.3M
            }
465
37.8k
        }
466
37.8k
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEaRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEsRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
451
187
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
452
187
        size_t size = c.size();
453
        if constexpr (is_float_or_double(Type)) {
454
            fmod_fast::vector_constant(a.data(), b, c.data(), null_map.data(), size);
455
187
        } else {
456
187
            UInt8 is_null = b == 0;
457
187
            memset(null_map.data(), is_null, sizeof(UInt8) * size);
458
187
            if (is_null) {
459
2
                return;
460
2
            }
461
860
            for (size_t i = 0; i < size; i++) {
462
675
                throw_if_division_leads_to_FPE(a[i], b);
463
675
                c[i] = a[i] % b;
464
675
            }
465
185
        }
466
187
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEiRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
451
87
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
452
87
        size_t size = c.size();
453
        if constexpr (is_float_or_double(Type)) {
454
            fmod_fast::vector_constant(a.data(), b, c.data(), null_map.data(), size);
455
87
        } else {
456
87
            UInt8 is_null = b == 0;
457
87
            memset(null_map.data(), is_null, sizeof(UInt8) * size);
458
87
            if (is_null) {
459
2
                return;
460
2
            }
461
465
            for (size_t i = 0; i < size; i++) {
462
380
                throw_if_division_leads_to_FPE(a[i], b);
463
380
                c[i] = a[i] % b;
464
380
            }
465
85
        }
466
87
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
451
37.5k
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
452
37.5k
        size_t size = c.size();
453
        if constexpr (is_float_or_double(Type)) {
454
            fmod_fast::vector_constant(a.data(), b, c.data(), null_map.data(), size);
455
37.5k
        } else {
456
37.5k
            UInt8 is_null = b == 0;
457
37.5k
            memset(null_map.data(), is_null, sizeof(UInt8) * size);
458
37.5k
            if (is_null) {
459
4
                return;
460
4
            }
461
16.3M
            for (size_t i = 0; i < size; i++) {
462
16.3M
                throw_if_division_leads_to_FPE(a[i], b);
463
16.3M
                c[i] = a[i] % b;
464
16.3M
            }
465
37.5k
        }
466
37.5k
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEnRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEfRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEdRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
451
34
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
452
34
        size_t size = c.size();
453
34
        if constexpr (is_float_or_double(Type)) {
454
34
            fmod_fast::vector_constant(a.data(), b, c.data(), null_map.data(), size);
455
        } else {
456
            UInt8 is_null = b == 0;
457
            memset(null_map.data(), is_null, sizeof(UInt8) * size);
458
            if (is_null) {
459
                return;
460
            }
461
            for (size_t i = 0; i < size; i++) {
462
                throw_if_division_leads_to_FPE(a[i], b);
463
                c[i] = a[i] % b;
464
            }
465
        }
466
34
    }
467
468
    static void apply(ArgA a, const typename ColumnType::Container& b,
469
0
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
470
0
        size_t size = c.size();
471
0
        if constexpr (is_float_or_double(Type)) {
472
0
            fmod_fast::constant_vector(a, b.data(), c.data(), null_map.data(), size);
473
0
        } else {
474
0
            for (size_t i = 0; i < size; ++i) {
475
0
                c[i] = apply(a, b[i], null_map[i]);
476
0
            }
477
0
        }
478
0
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE5applyEaRKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE5applyEsRKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE5applyEiRKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE5applyElRKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE5applyEnRKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE5applyEfRKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE5applyEdRKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
479
480
    static void apply(const typename ColumnType::Container& a,
481
                      const typename ColumnType::Container& b, typename ColumnType::Container& c,
482
1.95k
                      PaddedPODArray<UInt8>& null_map) {
483
1.95k
        size_t size = c.size();
484
1.95k
        if constexpr (is_float_or_double(Type)) {
485
1.14k
            fmod_fast::vector_vector(a.data(), b.data(), c.data(), null_map.data(), size);
486
1.14k
        } else {
487
5.71k
            for (size_t i = 0; i < size; ++i) {
488
4.91k
                c[i] = apply(a[i], b[i], null_map[i]);
489
4.91k
            }
490
805
        }
491
1.95k
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_RS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_RS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
482
32
                      PaddedPODArray<UInt8>& null_map) {
483
32
        size_t size = c.size();
484
        if constexpr (is_float_or_double(Type)) {
485
            fmod_fast::vector_vector(a.data(), b.data(), c.data(), null_map.data(), size);
486
32
        } else {
487
228
            for (size_t i = 0; i < size; ++i) {
488
196
                c[i] = apply(a[i], b[i], null_map[i]);
489
196
            }
490
32
        }
491
32
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_RS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
482
41
                      PaddedPODArray<UInt8>& null_map) {
483
41
        size_t size = c.size();
484
        if constexpr (is_float_or_double(Type)) {
485
            fmod_fast::vector_vector(a.data(), b.data(), c.data(), null_map.data(), size);
486
41
        } else {
487
290
            for (size_t i = 0; i < size; ++i) {
488
249
                c[i] = apply(a[i], b[i], null_map[i]);
489
249
            }
490
41
        }
491
41
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_RS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
482
580
                      PaddedPODArray<UInt8>& null_map) {
483
580
        size_t size = c.size();
484
        if constexpr (is_float_or_double(Type)) {
485
            fmod_fast::vector_vector(a.data(), b.data(), c.data(), null_map.data(), size);
486
580
        } else {
487
4.11k
            for (size_t i = 0; i < size; ++i) {
488
3.53k
                c[i] = apply(a[i], b[i], null_map[i]);
489
3.53k
            }
490
580
        }
491
580
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_RS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
482
152
                      PaddedPODArray<UInt8>& null_map) {
483
152
        size_t size = c.size();
484
        if constexpr (is_float_or_double(Type)) {
485
            fmod_fast::vector_vector(a.data(), b.data(), c.data(), null_map.data(), size);
486
152
        } else {
487
1.08k
            for (size_t i = 0; i < size; ++i) {
488
931
                c[i] = apply(a[i], b[i], null_map[i]);
489
931
            }
490
152
        }
491
152
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_RS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
482
36
                      PaddedPODArray<UInt8>& null_map) {
483
36
        size_t size = c.size();
484
36
        if constexpr (is_float_or_double(Type)) {
485
36
            fmod_fast::vector_vector(a.data(), b.data(), c.data(), null_map.data(), size);
486
        } else {
487
            for (size_t i = 0; i < size; ++i) {
488
                c[i] = apply(a[i], b[i], null_map[i]);
489
            }
490
        }
491
36
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_RS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
482
1.11k
                      PaddedPODArray<UInt8>& null_map) {
483
1.11k
        size_t size = c.size();
484
1.11k
        if constexpr (is_float_or_double(Type)) {
485
1.11k
            fmod_fast::vector_vector(a.data(), b.data(), c.data(), null_map.data(), size);
486
        } else {
487
            for (size_t i = 0; i < size; ++i) {
488
                c[i] = apply(a[i], b[i], null_map[i]);
489
            }
490
        }
491
1.11k
    }
492
493
    static inline typename PrimitiveTypeTraits<Type>::CppType apply(ArgA a, ArgB b,
494
4.93k
                                                                    UInt8& is_null) {
495
4.93k
        is_null = b == 0;
496
4.93k
        b += is_null;
497
498
4.93k
        if constexpr (is_float_or_double(Type)) {
499
10
            return fmod_fast::scalar(a, b);
500
4.92k
        } else {
501
4.92k
            throw_if_division_leads_to_FPE(a, b);
502
4.92k
            return a % b;
503
4.92k
        }
504
4.93k
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE5applyEaaRh
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE5applyEssRh
Line
Count
Source
494
210
                                                                    UInt8& is_null) {
495
210
        is_null = b == 0;
496
210
        b += is_null;
497
498
        if constexpr (is_float_or_double(Type)) {
499
            return fmod_fast::scalar(a, b);
500
210
        } else {
501
210
            throw_if_division_leads_to_FPE(a, b);
502
210
            return a % b;
503
210
        }
504
210
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE5applyEiiRh
Line
Count
Source
494
249
                                                                    UInt8& is_null) {
495
249
        is_null = b == 0;
496
249
        b += is_null;
497
498
        if constexpr (is_float_or_double(Type)) {
499
            return fmod_fast::scalar(a, b);
500
249
        } else {
501
249
            throw_if_division_leads_to_FPE(a, b);
502
249
            return a % b;
503
249
        }
504
249
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE5applyEllRh
Line
Count
Source
494
3.53k
                                                                    UInt8& is_null) {
495
3.53k
        is_null = b == 0;
496
3.53k
        b += is_null;
497
498
        if constexpr (is_float_or_double(Type)) {
499
            return fmod_fast::scalar(a, b);
500
3.53k
        } else {
501
3.53k
            throw_if_division_leads_to_FPE(a, b);
502
3.53k
            return a % b;
503
3.53k
        }
504
3.53k
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE5applyEnnRh
Line
Count
Source
494
934
                                                                    UInt8& is_null) {
495
934
        is_null = b == 0;
496
934
        b += is_null;
497
498
        if constexpr (is_float_or_double(Type)) {
499
            return fmod_fast::scalar(a, b);
500
934
        } else {
501
934
            throw_if_division_leads_to_FPE(a, b);
502
934
            return a % b;
503
934
        }
504
934
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE5applyEffRh
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE5applyEddRh
Line
Count
Source
494
10
                                                                    UInt8& is_null) {
495
10
        is_null = b == 0;
496
10
        b += is_null;
497
498
10
        if constexpr (is_float_or_double(Type)) {
499
10
            return fmod_fast::scalar(a, b);
500
        } else {
501
            throw_if_division_leads_to_FPE(a, b);
502
            return a % b;
503
        }
504
10
    }
505
};
506
507
template <PrimitiveType Type>
508
struct PModuloNumericImpl {
509
    using ArgA = typename PrimitiveTypeTraits<Type>::CppType;
510
    using ArgB = typename PrimitiveTypeTraits<Type>::CppType;
511
    using ColumnType = typename PrimitiveTypeTraits<Type>::ColumnType;
512
    using DataTypeA = typename PrimitiveTypeTraits<Type>::DataType;
513
    using DataTypeB = typename PrimitiveTypeTraits<Type>::DataType;
514
515
    static constexpr auto name = "pmod";
516
16
    static DataTypes get_variadic_argument_types() {
517
16
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
518
16
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
519
16
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE6EE27get_variadic_argument_typesEv
Line
Count
Source
516
8
    static DataTypes get_variadic_argument_types() {
517
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
518
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
519
8
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE9EE27get_variadic_argument_typesEv
Line
Count
Source
516
8
    static DataTypes get_variadic_argument_types() {
517
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
518
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
519
8
    }
520
521
    static void apply(const typename ColumnType::Container& a, ArgB b,
522
                      typename PrimitiveTypeTraits<Type>::ColumnType::Container& c,
523
0
                      PaddedPODArray<UInt8>& null_map) {
524
0
        size_t size = c.size();
525
0
        UInt8 is_null = b == 0;
526
0
        memset(null_map.data(), is_null, size);
527
528
0
        if (!is_null) {
529
0
            for (size_t i = 0; i < size; i++) {
530
0
                if constexpr (is_float_or_double(Type)) {
531
0
                    c[i] = std::fmod(std::fmod((double)a[i], (double)b) + (double)b, double(b));
532
0
                } else {
533
0
                    throw_if_division_leads_to_FPE(a[i], b);
534
0
                    c[i] = (a[i] % b + b) % b;
535
0
                }
536
0
            }
537
0
        }
538
0
    }
Unexecuted instantiation: _ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE6EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE9EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEdRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
539
540
    static inline typename PrimitiveTypeTraits<Type>::CppType apply(ArgA a, ArgB b,
541
60
                                                                    UInt8& is_null) {
542
60
        is_null = b == 0;
543
60
        b += is_null;
544
545
60
        if constexpr (is_float_or_double(Type)) {
546
26
            return std::fmod(std::fmod((double)a, (double)b) + (double)b, (double)b);
547
34
        } else {
548
34
            throw_if_division_leads_to_FPE(a, b);
549
34
            return (a % b + b) % b;
550
34
        }
551
60
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE6EE5applyEllRh
Line
Count
Source
541
34
                                                                    UInt8& is_null) {
542
34
        is_null = b == 0;
543
34
        b += is_null;
544
545
        if constexpr (is_float_or_double(Type)) {
546
            return std::fmod(std::fmod((double)a, (double)b) + (double)b, (double)b);
547
34
        } else {
548
34
            throw_if_division_leads_to_FPE(a, b);
549
34
            return (a % b + b) % b;
550
34
        }
551
34
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE9EE5applyEddRh
Line
Count
Source
541
26
                                                                    UInt8& is_null) {
542
26
        is_null = b == 0;
543
26
        b += is_null;
544
545
26
        if constexpr (is_float_or_double(Type)) {
546
26
            return std::fmod(std::fmod((double)a, (double)b) + (double)b, (double)b);
547
        } else {
548
            throw_if_division_leads_to_FPE(a, b);
549
            return (a % b + b) % b;
550
        }
551
26
    }
552
553
    template <PrimitiveType Result = TYPE_DECIMALV2>
554
    static inline DecimalV2Value apply(DecimalV2Value a, DecimalV2Value b, UInt8& is_null) {
555
        is_null = b == DecimalV2Value(0);
556
        b += DecimalV2Value(is_null);
557
        return (a % b + b) % b;
558
    }
559
};
560
561
template <PrimitiveType TypeA, PrimitiveType TypeB>
562
struct ModuloDecimalImpl {
563
    static_assert(is_decimal(TypeA) && is_decimal(TypeB));
564
    static_assert((TypeA == TYPE_DECIMALV2 && TypeB == TYPE_DECIMALV2) ||
565
                  (TypeA != TYPE_DECIMALV2 && TypeB != TYPE_DECIMALV2));
566
    static constexpr auto name = "mod";
567
    static constexpr auto is_pmod = false;
568
    using ArgA = typename PrimitiveTypeTraits<TypeA>::CppType;
569
    using ArgB = typename PrimitiveTypeTraits<TypeB>::CppType;
570
    using ArgNativeTypeA = typename PrimitiveTypeTraits<TypeA>::CppType::NativeType;
571
    using ArgNativeTypeB = typename PrimitiveTypeTraits<TypeB>::CppType::NativeType;
572
    using DataTypeA = typename PrimitiveTypeTraits<TypeA>::DataType;
573
    using DataTypeB = typename PrimitiveTypeTraits<TypeB>::DataType;
574
    using ColumnTypeA = typename PrimitiveTypeTraits<TypeA>::ColumnType;
575
    using ColumnTypeB = typename PrimitiveTypeTraits<TypeB>::ColumnType;
576
577
136
    static DataTypes get_variadic_argument_types() {
578
136
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
136
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
136
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
577
8
    static DataTypes get_variadic_argument_types() {
578
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
579
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
580
8
    }
581
582
934
    static inline DecimalV2Value apply(DecimalV2Value a, DecimalV2Value b, UInt8& is_null) {
583
934
        is_null = b == DecimalV2Value(0);
584
934
        return a % (b + DecimalV2Value(is_null));
585
934
    }
586
};
587
588
template <typename Impl>
589
struct ModDecimalImpl {
590
    static constexpr auto name = Impl::name;
591
    static constexpr bool result_is_decimal = true;
592
    using ArgA = typename Impl::ArgA;
593
    using ArgB = typename Impl::ArgB;
594
    using ArgNativeTypeA = typename Impl::ArgNativeTypeA;
595
    using ArgNativeTypeB = typename Impl::ArgNativeTypeB;
596
    using DataTypeA = typename Impl::DataTypeA;
597
    using DataTypeB = typename Impl::DataTypeB;
598
    using ColumnTypeA = typename Impl::ColumnTypeA;
599
    using ColumnTypeB = typename Impl::ColumnTypeB;
600
601
    constexpr static bool need_replace_null_data_to_default = true;
602
603
136
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
603
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
604
605
    template <PrimitiveType ResultType>
606
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
607
    static inline typename PrimitiveTypeTraits<ResultType>::CppType::NativeType impl(
608
654
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
609
654
        is_null = b == 0;
610
654
        b += is_null;
611
612
654
        throw_if_division_leads_to_FPE(a, b);
613
        if constexpr (Impl::is_pmod) {
614
            return (a % b + b) % b;
615
654
        } else {
616
654
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
617
654
                   b;
618
654
        }
619
654
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiiRh
Line
Count
Source
608
61
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
609
61
        is_null = b == 0;
610
61
        b += is_null;
611
612
61
        throw_if_division_leads_to_FPE(a, b);
613
        if constexpr (Impl::is_pmod) {
614
            return (a % b + b) % b;
615
61
        } else {
616
61
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
617
61
                   b;
618
61
        }
619
61
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiiRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiiRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiiRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEilRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEilRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEilRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEilRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEinRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEinRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEinRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEinRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEliRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEliRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEliRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEliRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEllRh
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEllRh
Line
Count
Source
608
6
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
609
6
        is_null = b == 0;
610
6
        b += is_null;
611
612
6
        throw_if_division_leads_to_FPE(a, b);
613
        if constexpr (Impl::is_pmod) {
614
            return (a % b + b) % b;
615
6
        } else {
616
6
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
617
6
                   b;
618
6
        }
619
6
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEllRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEllRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEniRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEniRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEniRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEniRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnlRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnlRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnlRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnlRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnnRh
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnnRh
Line
Count
Source
608
579
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
609
579
        is_null = b == 0;
610
579
        b += is_null;
611
612
579
        throw_if_division_leads_to_FPE(a, b);
613
        if constexpr (Impl::is_pmod) {
614
            return (a % b + b) % b;
615
579
        } else {
616
579
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
617
579
                   b;
618
579
        }
619
579
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_Rh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE4implILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_Rh
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE4implILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_Rh
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE4implILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_Rh
Line
Count
Source
608
8
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
609
8
        is_null = b == 0;
610
8
        b += is_null;
611
612
8
        throw_if_division_leads_to_FPE(a, b);
613
        if constexpr (Impl::is_pmod) {
614
            return (a % b + b) % b;
615
8
        } else {
616
8
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
617
8
                   b;
618
8
        }
619
8
    }
620
621
    template <PrimitiveType ResultType>
622
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
623
    static ColumnPtr constant_constant(
624
            ArgA a, ArgB b,
625
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
626
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
627
26
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
628
26
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
629
630
26
        auto null_map = ColumnUInt8::create(1, 0);
631
26
        if (check_overflow_for_decimal) {
632
26
            column_result->get_element(0) =
633
26
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
634
26
                            a.value, b.value, null_map->get_element(0), max_result_number));
635
26
        } else {
636
0
            column_result->get_element(0) =
637
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
638
0
                            a.value, b.value, null_map->get_element(0), max_result_number));
639
0
        }
640
26
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
641
26
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Line
Count
Source
627
25
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
628
25
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
629
630
25
        auto null_map = ColumnUInt8::create(1, 0);
631
25
        if (check_overflow_for_decimal) {
632
25
            column_result->get_element(0) =
633
25
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
634
25
                            a.value, b.value, null_map->get_element(0), max_result_number));
635
25
        } else {
636
0
            column_result->get_element(0) =
637
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
638
0
                            a.value, b.value, null_map->get_element(0), max_result_number));
639
0
        }
640
25
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
641
25
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEENSB_IN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESB_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESB_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESB_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESB_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENSB_IlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESF_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESF_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESF_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESF_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Line
Count
Source
627
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
628
1
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
629
630
1
        auto null_map = ColumnUInt8::create(1, 0);
631
1
        if (check_overflow_for_decimal) {
632
1
            column_result->get_element(0) =
633
1
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
634
1
                            a.value, b.value, null_map->get_element(0), max_result_number));
635
1
        } else {
636
0
            column_result->get_element(0) =
637
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
638
0
                            a.value, b.value, null_map->get_element(0), max_result_number));
639
0
        }
640
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
641
1
    }
642
643
    template <PrimitiveType ResultType>
644
        requires(ResultType == TYPE_DECIMALV2)
645
    static ColumnPtr constant_constant(
646
            ArgA a, ArgB b,
647
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
648
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
649
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
650
1
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
651
652
1
        auto null_map = ColumnUInt8::create(1, 0);
653
1
        if (check_overflow_for_decimal) {
654
1
            column_result->get_element(0) =
655
1
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
656
1
                            a.value(), b.value(), null_map->get_element(0), max_result_number));
657
1
        } else {
658
0
            column_result->get_element(0) =
659
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
660
0
                            a.value(), b.value(), null_map->get_element(0), max_result_number));
661
0
        }
662
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
663
1
    }
664
665
    template <PrimitiveType ResultType>
666
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
667
    static ColumnPtr vector_constant(
668
            ColumnPtr column_left, ArgB b,
669
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
670
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
671
34
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
672
34
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
673
34
        auto column_result =
674
34
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
675
34
        DCHECK(column_left_ptr != nullptr);
676
677
34
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
678
34
        const auto& a = column_left_ptr->get_data().data();
679
34
        const auto& c = column_result->get_data().data();
680
34
        auto& n = null_map->get_data();
681
34
        auto sz = column_left->size();
682
34
        if (check_overflow_for_decimal) {
683
99
            for (size_t i = 0; i < sz; ++i) {
684
65
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
685
65
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
686
65
            }
687
34
        } else {
688
0
            for (size_t i = 0; i < sz; ++i) {
689
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
690
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
691
0
            }
692
0
        }
693
34
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
694
34
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Line
Count
Source
671
24
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
672
24
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
673
24
        auto column_result =
674
24
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
675
24
        DCHECK(column_left_ptr != nullptr);
676
677
24
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
678
24
        const auto& a = column_left_ptr->get_data().data();
679
24
        const auto& c = column_result->get_data().data();
680
24
        auto& n = null_map->get_data();
681
24
        auto sz = column_left->size();
682
24
        if (check_overflow_for_decimal) {
683
60
            for (size_t i = 0; i < sz; ++i) {
684
36
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
685
36
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
686
36
            }
687
24
        } else {
688
0
            for (size_t i = 0; i < sz; ++i) {
689
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
690
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
691
0
            }
692
0
        }
693
24
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
694
24
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Line
Count
Source
671
4
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
672
4
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
673
4
        auto column_result =
674
4
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
675
4
        DCHECK(column_left_ptr != nullptr);
676
677
4
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
678
4
        const auto& a = column_left_ptr->get_data().data();
679
4
        const auto& c = column_result->get_data().data();
680
4
        auto& n = null_map->get_data();
681
4
        auto sz = column_left->size();
682
4
        if (check_overflow_for_decimal) {
683
10
            for (size_t i = 0; i < sz; ++i) {
684
6
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
685
6
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
686
6
            }
687
4
        } else {
688
0
            for (size_t i = 0; i < sz; ++i) {
689
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
690
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
691
0
            }
692
0
        }
693
4
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
694
4
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Line
Count
Source
671
6
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
672
6
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
673
6
        auto column_result =
674
6
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
675
6
        DCHECK(column_left_ptr != nullptr);
676
677
6
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
678
6
        const auto& a = column_left_ptr->get_data().data();
679
6
        const auto& c = column_result->get_data().data();
680
6
        auto& n = null_map->get_data();
681
6
        auto sz = column_left->size();
682
6
        if (check_overflow_for_decimal) {
683
29
            for (size_t i = 0; i < sz; ++i) {
684
23
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
685
23
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
686
23
            }
687
6
        } else {
688
0
            for (size_t i = 0; i < sz; ++i) {
689
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
690
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
691
0
            }
692
0
        }
693
6
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
694
6
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIiEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIlEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_12Decimal128V3ERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_NS_7DecimalIN4wide7integerILm256EiEEEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
695
696
    template <PrimitiveType ResultType>
697
        requires(ResultType == TYPE_DECIMALV2)
698
    static ColumnPtr vector_constant(
699
            ColumnPtr column_left, ArgB b,
700
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
701
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
702
0
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
703
0
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
704
0
        auto column_result =
705
0
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
706
0
        DCHECK(column_left_ptr != nullptr);
707
708
0
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
709
0
        const auto& a = column_left_ptr->get_data().data();
710
0
        const auto& c = column_result->get_data().data();
711
0
        auto& n = null_map->get_data();
712
0
        auto sz = column_left->size();
713
0
        if (check_overflow_for_decimal) {
714
0
            for (size_t i = 0; i < sz; ++i) {
715
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
716
0
                        apply<true, ResultType>(a[i].value(), b.value(), n[i], max_result_number));
717
0
            }
718
0
        } else {
719
0
            for (size_t i = 0; i < sz; ++i) {
720
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
721
0
                        apply<false, ResultType>(a[i].value(), b.value(), n[i], max_result_number));
722
0
            }
723
0
        }
724
0
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
725
0
    }
726
727
    template <PrimitiveType ResultType>
728
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
729
    static ColumnPtr constant_vector(
730
            ArgA a, ColumnPtr column_right,
731
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
732
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
733
0
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
734
0
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
735
0
        auto column_result =
736
0
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
737
0
        DCHECK(column_right_ptr != nullptr);
738
739
0
        auto null_map = ColumnUInt8::create(column_right->size(), 0);
740
0
        const auto& b = column_right_ptr->get_data().data();
741
0
        const auto& c = column_result->get_data().data();
742
0
        auto& n = null_map->get_data();
743
0
        auto sz = column_right->size();
744
0
        if (check_overflow_for_decimal) {
745
0
            for (size_t i = 0; i < sz; ++i) {
746
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
747
0
                        apply<true, ResultType>(a.value, b[i].value, n[i], max_result_number));
748
0
            }
749
0
        } else {
750
0
            for (size_t i = 0; i < sz; ++i) {
751
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
752
0
                        apply<false, ResultType>(a.value, b[i].value, n[i], max_result_number));
753
0
            }
754
0
        }
755
756
0
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
757
0
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIiEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIlEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_12Decimal128V3ESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESG_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EENS_7DecimalIN4wide7integerILm256EiEEEESA_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS_15DataTypeDecimalIXT_EEEb
758
759
    template <PrimitiveType ResultType>
760
        requires(ResultType == TYPE_DECIMALV2)
761
    static ColumnPtr constant_vector(
762
            ArgA a, ColumnPtr column_right,
763
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
764
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
765
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
766
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
767
1
        auto column_result =
768
1
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
769
1
        DCHECK(column_right_ptr != nullptr);
770
771
1
        auto null_map = ColumnUInt8::create(column_right->size(), 0);
772
1
        const auto& b = column_right_ptr->get_data().data();
773
1
        const auto& c = column_result->get_data().data();
774
1
        auto& n = null_map->get_data();
775
1
        auto sz = column_right->size();
776
1
        if (check_overflow_for_decimal) {
777
2
            for (size_t i = 0; i < sz; ++i) {
778
1
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
779
1
                        apply<true, ResultType>(a.value(), b[i].value(), n[i], max_result_number));
780
1
            }
781
1
        } else {
782
0
            for (size_t i = 0; i < sz; ++i) {
783
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
784
0
                        apply<false, ResultType>(a.value(), b[i].value(), n[i], max_result_number));
785
0
            }
786
0
        }
787
788
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
789
1
    }
790
791
    template <PrimitiveType ResultType>
792
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
793
    static ColumnPtr vector_vector(
794
            ColumnPtr column_left, ColumnPtr column_right,
795
            const typename PrimitiveTypeTraits<ResultType>::CppType max_result_number,
796
            const typename PrimitiveTypeTraits<ResultType>::CppType scale_diff_multiplier,
797
111
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
798
111
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
799
111
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
800
801
111
        auto column_result =
802
111
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
803
111
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
804
805
        // function divide, modulo and pmod
806
111
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
807
111
        const auto& a = column_left_ptr->get_data().data();
808
111
        const auto& b = column_right_ptr->get_data().data();
809
111
        const auto& c = column_result->get_data().data();
810
111
        auto& n = null_map->get_data();
811
111
        auto sz = column_right->size();
812
111
        if (check_overflow_for_decimal) {
813
674
            for (size_t i = 0; i < sz; ++i) {
814
563
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
815
563
                        apply<true, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
816
563
            }
817
111
        } else {
818
0
            for (size_t i = 0; i < sz; ++i) {
819
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
820
0
                        apply<false, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
821
0
            }
822
0
        }
823
111
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
824
111
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Line
Count
Source
797
105
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
798
105
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
799
105
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
800
801
105
        auto column_result =
802
105
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
803
105
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
804
805
        // function divide, modulo and pmod
806
105
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
807
105
        const auto& a = column_left_ptr->get_data().data();
808
105
        const auto& b = column_right_ptr->get_data().data();
809
105
        const auto& c = column_result->get_data().data();
810
105
        auto& n = null_map->get_data();
811
105
        auto sz = column_right->size();
812
105
        if (check_overflow_for_decimal) {
813
661
            for (size_t i = 0; i < sz; ++i) {
814
556
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
815
556
                        apply<true, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
816
556
            }
817
105
        } else {
818
0
            for (size_t i = 0; i < sz; ++i) {
819
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
820
0
                        apply<false, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
821
0
            }
822
0
        }
823
105
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
824
105
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorILS2_29EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorILS2_30EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorILS2_35EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EESA_SA_NS_19PrimitiveTypeTraitsIXT_EE7CppTypeESD_RKNS_15DataTypeDecimalIXT_EEEb
Line
Count
Source
797
6
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
798
6
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
799
6
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
800
801
6
        auto column_result =
802
6
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
803
6
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
804
805
        // function divide, modulo and pmod
806
6
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
807
6
        const auto& a = column_left_ptr->get_data().data();
808
6
        const auto& b = column_right_ptr->get_data().data();
809
6
        const auto& c = column_result->get_data().data();
810
6
        auto& n = null_map->get_data();
811
6
        auto sz = column_right->size();
812
6
        if (check_overflow_for_decimal) {
813
13
            for (size_t i = 0; i < sz; ++i) {
814
7
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
815
7
                        apply<true, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
816
7
            }
817
6
        } else {
818
0
            for (size_t i = 0; i < sz; ++i) {
819
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
820
0
                        apply<false, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
821
0
            }
822
0
        }
823
6
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
824
6
    }
825
826
    template <PrimitiveType ResultType>
827
        requires(ResultType == TYPE_DECIMALV2)
828
    static ColumnPtr vector_vector(
829
            ColumnPtr column_left, ColumnPtr column_right,
830
            const typename PrimitiveTypeTraits<ResultType>::CppType max_result_number,
831
            const typename PrimitiveTypeTraits<ResultType>::CppType scale_diff_multiplier,
832
153
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
833
153
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
834
153
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
835
836
153
        auto column_result =
837
153
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
838
153
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
839
840
        // function divide, modulo and pmod
841
153
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
842
153
        const auto& a = column_left_ptr->get_data().data();
843
153
        const auto& b = column_right_ptr->get_data().data();
844
153
        const auto& c = column_result->get_data().data();
845
153
        auto& n = null_map->get_data();
846
153
        auto sz = column_right->size();
847
153
        if (check_overflow_for_decimal) {
848
1.08k
            for (size_t i = 0; i < sz; ++i) {
849
932
                c[i] = DecimalV2Value(apply<true, TYPE_DECIMALV2>(a[i].value(), b[i].value(), n[i],
850
932
                                                                  max_result_number));
851
932
            }
852
153
        } else {
853
0
            for (size_t i = 0; i < sz; ++i) {
854
0
                c[i] = DecimalV2Value(apply<false, TYPE_DECIMALV2>(a[i].value(), b[i].value(), n[i],
855
0
                                                                   max_result_number));
856
0
            }
857
0
        }
858
153
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
859
153
    }
860
861
    template <bool check_overflow_for_decimal, PrimitiveType ResultType>
862
        requires(is_decimal(ResultType))
863
    static ALWAYS_INLINE typename PrimitiveTypeTraits<ResultType>::CppType::NativeType apply(
864
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null,
865
1.58k
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
866
1.58k
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
867
934
            DecimalV2Value l(a);
868
934
            DecimalV2Value r(b);
869
934
            auto ans = Impl::apply(l, r, is_null);
870
934
            using ANS_TYPE = std::decay_t<decltype(ans)>;
871
934
            if constexpr (check_overflow_for_decimal) {
872
934
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
873
934
                    if (ans.value() > max_result_number.value() ||
874
934
                        ans.value() < -max_result_number.value()) {
875
0
                        throw Exception(
876
0
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
877
0
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
878
0
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
879
0
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
880
0
                    }
881
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
882
                    if (ans.value > max_result_number.value ||
883
                        ans.value < -max_result_number.value) {
884
                        throw Exception(
885
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
886
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
887
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
888
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
889
                    }
890
                } else {
891
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
892
                        throw Exception(
893
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
894
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
895
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
896
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
897
                    }
898
                }
899
934
            }
900
934
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
901
934
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
902
934
            return result;
903
934
        } else {
904
654
            return impl<ResultType>(a, b, is_null);
905
654
        }
906
1.58k
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE5applyILb1ELS2_20EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Line
Count
Source
865
934
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
866
934
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
867
934
            DecimalV2Value l(a);
868
934
            DecimalV2Value r(b);
869
934
            auto ans = Impl::apply(l, r, is_null);
870
934
            using ANS_TYPE = std::decay_t<decltype(ans)>;
871
934
            if constexpr (check_overflow_for_decimal) {
872
934
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
873
934
                    if (ans.value() > max_result_number.value() ||
874
934
                        ans.value() < -max_result_number.value()) {
875
0
                        throw Exception(
876
0
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
877
0
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
878
0
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
879
0
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
880
0
                    }
881
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
882
                    if (ans.value > max_result_number.value ||
883
                        ans.value < -max_result_number.value) {
884
                        throw Exception(
885
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
886
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
887
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
888
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
889
                    }
890
                } else {
891
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
892
                        throw Exception(
893
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
894
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
895
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
896
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
897
                    }
898
                }
899
934
            }
900
934
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
901
934
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
902
934
            return result;
903
        } else {
904
            return impl<ResultType>(a, b, is_null);
905
        }
906
934
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE5applyILb0ELS2_20EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Line
Count
Source
865
61
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
866
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
867
            DecimalV2Value l(a);
868
            DecimalV2Value r(b);
869
            auto ans = Impl::apply(l, r, is_null);
870
            using ANS_TYPE = std::decay_t<decltype(ans)>;
871
            if constexpr (check_overflow_for_decimal) {
872
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
873
                    if (ans.value() > max_result_number.value() ||
874
                        ans.value() < -max_result_number.value()) {
875
                        throw Exception(
876
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
877
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
878
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
879
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
880
                    }
881
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
882
                    if (ans.value > max_result_number.value ||
883
                        ans.value < -max_result_number.value) {
884
                        throw Exception(
885
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
886
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
887
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
888
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
889
                    }
890
                } else {
891
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
892
                        throw Exception(
893
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
894
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
895
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
896
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
897
                    }
898
                }
899
            }
900
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
901
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
902
            return result;
903
61
        } else {
904
61
            return impl<ResultType>(a, b, is_null);
905
61
        }
906
61
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEilRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEinRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEliRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
Line
Count
Source
865
6
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
866
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
867
            DecimalV2Value l(a);
868
            DecimalV2Value r(b);
869
            auto ans = Impl::apply(l, r, is_null);
870
            using ANS_TYPE = std::decay_t<decltype(ans)>;
871
            if constexpr (check_overflow_for_decimal) {
872
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
873
                    if (ans.value() > max_result_number.value() ||
874
                        ans.value() < -max_result_number.value()) {
875
                        throw Exception(
876
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
877
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
878
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
879
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
880
                    }
881
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
882
                    if (ans.value > max_result_number.value ||
883
                        ans.value < -max_result_number.value) {
884
                        throw Exception(
885
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
886
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
887
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
888
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
889
                    }
890
                } else {
891
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
892
                        throw Exception(
893
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
894
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
895
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
896
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
897
                    }
898
                }
899
            }
900
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
901
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
902
            return result;
903
6
        } else {
904
6
            return impl<ResultType>(a, b, is_null);
905
6
        }
906
6
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEllRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeElN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEniRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnlRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Line
Count
Source
865
579
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
866
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
867
            DecimalV2Value l(a);
868
            DecimalV2Value r(b);
869
            auto ans = Impl::apply(l, r, is_null);
870
            using ANS_TYPE = std::decay_t<decltype(ans)>;
871
            if constexpr (check_overflow_for_decimal) {
872
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
873
                    if (ans.value() > max_result_number.value() ||
874
                        ans.value() < -max_result_number.value()) {
875
                        throw Exception(
876
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
877
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
878
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
879
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
880
                    }
881
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
882
                    if (ans.value > max_result_number.value ||
883
                        ans.value < -max_result_number.value) {
884
                        throw Exception(
885
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
886
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
887
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
888
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
889
                    }
890
                } else {
891
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
892
                        throw Exception(
893
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
894
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
895
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
896
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
897
                    }
898
                }
899
            }
900
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
901
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
902
            return result;
903
579
        } else {
904
579
            return impl<ResultType>(a, b, is_null);
905
579
        }
906
579
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb1ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb0ELS2_28EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb1ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb0ELS2_29EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb1ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb0ELS2_30EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb1ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
Line
Count
Source
865
8
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
866
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
867
            DecimalV2Value l(a);
868
            DecimalV2Value r(b);
869
            auto ans = Impl::apply(l, r, is_null);
870
            using ANS_TYPE = std::decay_t<decltype(ans)>;
871
            if constexpr (check_overflow_for_decimal) {
872
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
873
                    if (ans.value() > max_result_number.value() ||
874
                        ans.value() < -max_result_number.value()) {
875
                        throw Exception(
876
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
877
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
878
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
879
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
880
                    }
881
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
882
                    if (ans.value > max_result_number.value ||
883
                        ans.value < -max_result_number.value) {
884
                        throw Exception(
885
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
886
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
887
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
888
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
889
                    }
890
                } else {
891
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
892
                        throw Exception(
893
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
894
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
895
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
896
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
897
                    }
898
                }
899
            }
900
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
901
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
902
            return result;
903
8
        } else {
904
8
            return impl<ResultType>(a, b, is_null);
905
8
        }
906
8
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
907
908
    template <PrimitiveType PT>
909
    static std::pair<typename PrimitiveTypeTraits<PT>::CppType,
910
                     typename PrimitiveTypeTraits<PT>::CppType>
911
    get_max_and_multiplier(const DataTypeA* type_left, const DataTypeB* type_right,
912
326
                           const DataTypeDecimal<PT>& type_result) {
913
326
        auto max_result_number =
914
326
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
915
916
326
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
917
326
        auto result_scale = type_result.get_scale();
918
326
        DCHECK(orig_result_scale >= result_scale);
919
326
        auto scale_diff_multiplier =
920
326
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
921
326
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
922
326
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
923
326
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE22get_max_and_multiplierILS2_20EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_20EEESE_RKNSB_IXT_EEE
Line
Count
Source
912
155
                           const DataTypeDecimal<PT>& type_result) {
913
155
        auto max_result_number =
914
155
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
915
916
155
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
917
155
        auto result_scale = type_result.get_scale();
918
        DCHECK(orig_result_scale >= result_scale);
919
155
        auto scale_diff_multiplier =
920
155
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
921
155
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
922
155
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
923
155
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEESE_RKNSB_IXT_EEE
Line
Count
Source
912
49
                           const DataTypeDecimal<PT>& type_result) {
913
49
        auto max_result_number =
914
49
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
915
916
49
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
917
49
        auto result_scale = type_result.get_scale();
918
        DCHECK(orig_result_scale >= result_scale);
919
49
        auto scale_diff_multiplier =
920
49
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
921
49
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
922
49
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
923
49
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEESE_RKNSB_IXT_EEE
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEESE_RKNSB_IXT_EEE
Line
Count
Source
912
4
                           const DataTypeDecimal<PT>& type_result) {
913
4
        auto max_result_number =
914
4
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
915
916
4
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
917
4
        auto result_scale = type_result.get_scale();
918
        DCHECK(orig_result_scale >= result_scale);
919
4
        auto scale_diff_multiplier =
920
4
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
921
4
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
922
4
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
923
4
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_29EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEESE_RKNSB_IXT_EEE
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEESE_RKNSB_IXT_EEE
Line
Count
Source
912
111
                           const DataTypeDecimal<PT>& type_result) {
913
111
        auto max_result_number =
914
111
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
915
916
111
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
917
111
        auto result_scale = type_result.get_scale();
918
        DCHECK(orig_result_scale >= result_scale);
919
111
        auto scale_diff_multiplier =
920
111
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
921
111
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
922
111
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
923
111
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_30EEEPKNSB_ILS2_35EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_28EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_29EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEEPKNSB_ILS2_30EEERKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE22get_max_and_multiplierILS2_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEESE_RKNSB_IXT_EEE
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE22get_max_and_multiplierILS2_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEESE_RKNSB_IXT_EEE
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE22get_max_and_multiplierILS2_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_35EEESE_RKNSB_IXT_EEE
Line
Count
Source
912
7
                           const DataTypeDecimal<PT>& type_result) {
913
7
        auto max_result_number =
914
7
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
915
916
7
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
917
7
        auto result_scale = type_result.get_scale();
918
        DCHECK(orig_result_scale >= result_scale);
919
7
        auto scale_diff_multiplier =
920
7
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
921
7
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
922
7
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
923
7
    }
924
};
925
926
8
void register_function_modulo(SimpleFunctionFactory& factory) {
927
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_TINYINT>>>>();
928
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_SMALLINT>>>>();
929
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_INT>>>>();
930
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_BIGINT>>>>();
931
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_LARGEINT>>>>();
932
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_FLOAT>>>>();
933
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_DOUBLE>>>>();
934
935
8
    factory.register_function<FunctionMod<ModNumericImpl<PModuloNumericImpl<TYPE_BIGINT>>>>();
936
8
    factory.register_function<FunctionMod<ModNumericImpl<PModuloNumericImpl<TYPE_DOUBLE>>>>();
937
938
8
    factory.register_function<
939
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMALV2, TYPE_DECIMALV2>>>>();
940
941
8
    factory.register_function<
942
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL32>>>>();
943
8
    factory.register_function<
944
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL64>>>>();
945
8
    factory.register_function<
946
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL128I>>>>();
947
8
    factory.register_function<
948
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL256>>>>();
949
950
8
    factory.register_function<
951
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL32>>>>();
952
8
    factory.register_function<
953
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL64>>>>();
954
8
    factory.register_function<
955
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL128I>>>>();
956
8
    factory.register_function<
957
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL256>>>>();
958
959
8
    factory.register_function<
960
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL32>>>>();
961
8
    factory.register_function<
962
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL64>>>>();
963
8
    factory.register_function<
964
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL128I>>>>();
965
8
    factory.register_function<
966
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL256>>>>();
967
968
8
    factory.register_function<
969
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL32>>>>();
970
8
    factory.register_function<
971
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL64>>>>();
972
8
    factory.register_function<
973
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL128I>>>>();
974
8
    factory.register_function<
975
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL256>>>>();
976
8
    factory.register_alias("mod", "fmod");
977
8
}
978
979
} // namespace doris