Coverage Report

Created: 2026-03-12 14:13

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/simple_function_factory.h"
37
38
namespace doris {
39
40
template <typename A, typename B>
41
15.1M
inline void throw_if_division_leads_to_FPE(A a, B b) {
42
    // http://avva.livejournal.com/2548306.html
43
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
44
15.1M
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
45
15.1M
        if (b == -1 && a == std::numeric_limits<A>::min()) {
46
2
            throw Exception(ErrorCode::INVALID_ARGUMENT,
47
2
                            "Division of minimal signed number by minus one is an undefined "
48
2
                            "behavior, {} % {}. ",
49
2
                            a, b);
50
2
        }
51
15.1M
    }
52
15.1M
}
Unexecuted instantiation: _ZN5doris30throw_if_division_leads_to_FPEIaaEEvT_T0_
_ZN5doris30throw_if_division_leads_to_FPEIssEEvT_T0_
Line
Count
Source
41
1.38k
inline void throw_if_division_leads_to_FPE(A a, B b) {
42
    // http://avva.livejournal.com/2548306.html
43
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
44
1.38k
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
45
1.38k
        if (b == -1 && a == std::numeric_limits<A>::min()) {
46
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
47
0
                            "Division of minimal signed number by minus one is an undefined "
48
0
                            "behavior, {} % {}. ",
49
0
                            a, b);
50
0
        }
51
1.38k
    }
52
1.38k
}
_ZN5doris30throw_if_division_leads_to_FPEIiiEEvT_T0_
Line
Count
Source
41
742
inline void throw_if_division_leads_to_FPE(A a, B b) {
42
    // http://avva.livejournal.com/2548306.html
43
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
44
742
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
45
742
        if (b == -1 && a == std::numeric_limits<A>::min()) {
46
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
47
0
                            "Division of minimal signed number by minus one is an undefined "
48
0
                            "behavior, {} % {}. ",
49
0
                            a, b);
50
0
        }
51
742
    }
52
742
}
_ZN5doris30throw_if_division_leads_to_FPEIllEEvT_T0_
Line
Count
Source
41
15.1M
inline void throw_if_division_leads_to_FPE(A a, B b) {
42
    // http://avva.livejournal.com/2548306.html
43
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
44
15.1M
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
45
15.1M
        if (b == -1 && a == std::numeric_limits<A>::min()) {
46
2
            throw Exception(ErrorCode::INVALID_ARGUMENT,
47
2
                            "Division of minimal signed number by minus one is an undefined "
48
2
                            "behavior, {} % {}. ",
49
2
                            a, b);
50
2
        }
51
15.1M
    }
52
15.1M
}
_ZN5doris30throw_if_division_leads_to_FPEInnEEvT_T0_
Line
Count
Source
41
1.51k
inline void throw_if_division_leads_to_FPE(A a, B b) {
42
    // http://avva.livejournal.com/2548306.html
43
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
44
1.51k
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
45
1.51k
        if (b == -1 && a == std::numeric_limits<A>::min()) {
46
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
47
0
                            "Division of minimal signed number by minus one is an undefined "
48
0
                            "behavior, {} % {}. ",
49
0
                            a, b);
50
0
        }
51
1.51k
    }
52
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
41
8
inline void throw_if_division_leads_to_FPE(A a, B b) {
42
    // http://avva.livejournal.com/2548306.html
43
    // (-9223372036854775808 % -1) will cause coredump directly, so check this case to throw exception, or maybe could return 0 as result
44
8
    if constexpr (IsSignedV<A> && IsSignedV<B>) {
45
8
        if (b == -1 && a == std::numeric_limits<A>::min()) {
46
0
            throw Exception(ErrorCode::INVALID_ARGUMENT,
47
0
                            "Division of minimal signed number by minus one is an undefined "
48
0
                            "behavior, {} % {}. ",
49
0
                            a, b);
50
0
        }
51
8
    }
52
8
}
53
54
template <typename Impl>
55
class FunctionMod : public IFunction {
56
    static constexpr bool result_is_decimal = Impl::result_is_decimal;
57
58
public:
59
    static constexpr auto name = Impl::name;
60
61
48.9k
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE6createEv
Line
Count
Source
61
136
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE6createEv
Line
Count
Source
61
77
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE6createEv
Line
Count
Source
61
48.0k
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE6createEv
Line
Count
Source
61
50
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE6createEv
Line
Count
Source
61
15
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE6createEv
Line
Count
Source
61
303
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE6createEv
Line
Count
Source
61
20
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE6createEv
Line
Count
Source
61
12
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE6createEv
Line
Count
Source
61
50
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE6createEv
Line
Count
Source
61
61
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE6createEv
Line
Count
Source
61
13
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE6createEv
Line
Count
Source
61
42
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE6createEv
Line
Count
Source
61
9
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE6createEv
Line
Count
Source
61
14
    static FunctionPtr create() { return std::make_shared<FunctionMod>(); }
62
63
48.7k
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEEC2Ev
Line
Count
Source
63
136
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEEC2Ev
Line
Count
Source
63
77
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEEC2Ev
Line
Count
Source
63
47.8k
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEEC2Ev
Line
Count
Source
63
50
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEEC2Ev
Line
Count
Source
63
15
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEEC2Ev
Line
Count
Source
63
303
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEEC2Ev
Line
Count
Source
63
20
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEEC2Ev
Line
Count
Source
63
12
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEEC2Ev
Line
Count
Source
63
50
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEEC2Ev
Line
Count
Source
63
61
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEEC2Ev
Line
Count
Source
63
13
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEEC2Ev
Line
Count
Source
63
42
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEEC2Ev
Line
Count
Source
63
9
    FunctionMod() = default;
_ZN5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEEC2Ev
Line
Count
Source
63
14
    FunctionMod() = default;
64
65
26
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE8get_nameB5cxx11Ev
Line
Count
Source
65
1
    String get_name() const override { return name; }
66
67
2.21k
    bool need_replace_null_data_to_default() const override {
68
2.21k
        return Impl::need_replace_null_data_to_default;
69
2.21k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE33need_replace_null_data_to_defaultEv
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
347
    bool need_replace_null_data_to_default() const override {
68
347
        return Impl::need_replace_null_data_to_default;
69
347
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
134
    bool need_replace_null_data_to_default() const override {
68
134
        return Impl::need_replace_null_data_to_default;
69
134
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
392
    bool need_replace_null_data_to_default() const override {
68
392
        return Impl::need_replace_null_data_to_default;
69
392
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
76
    bool need_replace_null_data_to_default() const override {
68
76
        return Impl::need_replace_null_data_to_default;
69
76
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
28
    bool need_replace_null_data_to_default() const override {
68
28
        return Impl::need_replace_null_data_to_default;
69
28
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
979
    bool need_replace_null_data_to_default() const override {
68
979
        return Impl::need_replace_null_data_to_default;
69
979
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
4
    bool need_replace_null_data_to_default() const override {
68
4
        return Impl::need_replace_null_data_to_default;
69
4
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
4
    bool need_replace_null_data_to_default() const override {
68
4
        return Impl::need_replace_null_data_to_default;
69
4
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
118
    bool need_replace_null_data_to_default() const override {
68
118
        return Impl::need_replace_null_data_to_default;
69
118
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
67
42
    bool need_replace_null_data_to_default() const override {
68
42
        return Impl::need_replace_null_data_to_default;
69
42
    }
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
67
8
    bool need_replace_null_data_to_default() const override {
68
8
        return Impl::need_replace_null_data_to_default;
69
8
    }
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
67
75
    bool need_replace_null_data_to_default() const override {
68
75
        return Impl::need_replace_null_data_to_default;
69
75
    }
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
67
6
    bool need_replace_null_data_to_default() const override {
68
6
        return Impl::need_replace_null_data_to_default;
69
6
    }
70
71
48.4k
    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
71
127
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
68
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
47.7k
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
41
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
6
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
294
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
11
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
3
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
41
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE23get_number_of_argumentsEv
Line
Count
Source
71
52
    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
71
4
    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
71
33
    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
71
5
    size_t get_number_of_arguments() const override { return 2; }
72
73
208
    DataTypes get_variadic_argument_types_impl() const override {
74
208
        return Impl::get_variadic_argument_types();
75
208
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_28EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_29EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_30EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS3_35EEEEEE32get_variadic_argument_types_implEv
Line
Count
Source
73
8
    DataTypes get_variadic_argument_types_impl() const override {
74
8
        return Impl::get_variadic_argument_types();
75
8
    }
76
77
48.6k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
48.6k
        return make_nullable(arguments[0]);
79
48.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
77
127
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
127
        return make_nullable(arguments[0]);
79
127
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
68
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
68
        return make_nullable(arguments[0]);
79
68
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
47.9k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
47.9k
        return make_nullable(arguments[0]);
79
47.9k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
41
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
41
        return make_nullable(arguments[0]);
79
41
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
6
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
6
        return make_nullable(arguments[0]);
79
6
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
294
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
294
        return make_nullable(arguments[0]);
79
294
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
11
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
11
        return make_nullable(arguments[0]);
79
11
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
3
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
3
        return make_nullable(arguments[0]);
79
3
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
41
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
41
        return make_nullable(arguments[0]);
79
41
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
77
52
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
52
        return make_nullable(arguments[0]);
79
52
    }
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
77
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
4
        return make_nullable(arguments[0]);
79
4
    }
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
77
33
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
33
        return make_nullable(arguments[0]);
79
33
    }
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
77
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
78
5
        return make_nullable(arguments[0]);
79
5
    }
80
81
89.6k
    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
81
2.01k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
774
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
81.5k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
427
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
106
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
3.58k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
49
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
25
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
469
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE40use_default_implementation_for_constantsEv
Line
Count
Source
81
240
    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
81
28
    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
81
344
    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
81
28
    bool use_default_implementation_for_constants() const final { return false; }
82
83
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
84
18.7k
                        uint32_t result, size_t input_rows_count) const override {
85
18.7k
        auto& column_left = block.get_by_position(arguments[0]).column;
86
18.7k
        auto& column_right = block.get_by_position(arguments[1]).column;
87
18.7k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
18.7k
                block.get_by_position(arguments[0]).type.get());
89
18.7k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
18.7k
                block.get_by_position(arguments[1]).type.get());
91
18.7k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
18.7k
        bool is_const_left = is_column_const(*column_left);
93
18.7k
        bool is_const_right = is_column_const(*column_right);
94
95
18.7k
        ColumnPtr column_result = nullptr;
96
18.7k
        if (is_const_left && is_const_right) {
97
67
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
67
                                              res_data_type, context->check_overflow_for_decimal());
99
18.6k
        } else if (is_const_left) {
100
1
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
1
                                            res_data_type, context->check_overflow_for_decimal());
102
18.6k
        } else if (is_const_right) {
103
16.4k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
16.4k
                                            res_data_type, context->check_overflow_for_decimal());
105
16.4k
        } else {
106
2.21k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
2.21k
                                          res_data_type, context->check_overflow_for_decimal());
108
2.21k
        }
109
18.7k
        block.replace_by_position(result, std::move(column_result));
110
18.7k
        return Status::OK();
111
18.7k
    }
Unexecuted instantiation: _ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
376
                        uint32_t result, size_t input_rows_count) const override {
85
376
        auto& column_left = block.get_by_position(arguments[0]).column;
86
376
        auto& column_right = block.get_by_position(arguments[1]).column;
87
376
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
376
                block.get_by_position(arguments[0]).type.get());
89
376
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
376
                block.get_by_position(arguments[1]).type.get());
91
376
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
376
        bool is_const_left = is_column_const(*column_left);
93
376
        bool is_const_right = is_column_const(*column_right);
94
95
376
        ColumnPtr column_result = nullptr;
96
376
        if (is_const_left && is_const_right) {
97
14
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
14
                                              res_data_type, context->check_overflow_for_decimal());
99
362
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
362
        } else if (is_const_right) {
103
330
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
330
                                            res_data_type, context->check_overflow_for_decimal());
105
330
        } else {
106
32
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
32
                                          res_data_type, context->check_overflow_for_decimal());
108
32
        }
109
376
        block.replace_by_position(result, std::move(column_result));
110
376
        return Status::OK();
111
376
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
156
                        uint32_t result, size_t input_rows_count) const override {
85
156
        auto& column_left = block.get_by_position(arguments[0]).column;
86
156
        auto& column_right = block.get_by_position(arguments[1]).column;
87
156
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
156
                block.get_by_position(arguments[0]).type.get());
89
156
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
156
                block.get_by_position(arguments[1]).type.get());
91
156
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
156
        bool is_const_left = is_column_const(*column_left);
93
156
        bool is_const_right = is_column_const(*column_right);
94
95
156
        ColumnPtr column_result = nullptr;
96
156
        if (is_const_left && is_const_right) {
97
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
0
                                              res_data_type, context->check_overflow_for_decimal());
99
156
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
156
        } else if (is_const_right) {
103
115
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
115
                                            res_data_type, context->check_overflow_for_decimal());
105
115
        } else {
106
41
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
41
                                          res_data_type, context->check_overflow_for_decimal());
108
41
        }
109
156
        block.replace_by_position(result, std::move(column_result));
110
156
        return Status::OK();
111
156
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
16.4k
                        uint32_t result, size_t input_rows_count) const override {
85
16.4k
        auto& column_left = block.get_by_position(arguments[0]).column;
86
16.4k
        auto& column_right = block.get_by_position(arguments[1]).column;
87
16.4k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
16.4k
                block.get_by_position(arguments[0]).type.get());
89
16.4k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
16.4k
                block.get_by_position(arguments[1]).type.get());
91
16.4k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
16.4k
        bool is_const_left = is_column_const(*column_left);
93
16.4k
        bool is_const_right = is_column_const(*column_right);
94
95
16.4k
        ColumnPtr column_result = nullptr;
96
16.4k
        if (is_const_left && is_const_right) {
97
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
1
                                              res_data_type, context->check_overflow_for_decimal());
99
16.4k
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
16.4k
        } else if (is_const_right) {
103
15.8k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
15.8k
                                            res_data_type, context->check_overflow_for_decimal());
105
15.8k
        } else {
106
560
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
560
                                          res_data_type, context->check_overflow_for_decimal());
108
560
        }
109
16.4k
        block.replace_by_position(result, std::move(column_result));
110
16.4k
        return Status::OK();
111
16.4k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
155
                        uint32_t result, size_t input_rows_count) const override {
85
155
        auto& column_left = block.get_by_position(arguments[0]).column;
86
155
        auto& column_right = block.get_by_position(arguments[1]).column;
87
155
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
155
                block.get_by_position(arguments[0]).type.get());
89
155
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
155
                block.get_by_position(arguments[1]).type.get());
91
155
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
155
        bool is_const_left = is_column_const(*column_left);
93
155
        bool is_const_right = is_column_const(*column_right);
94
95
155
        ColumnPtr column_result = nullptr;
96
155
        if (is_const_left && is_const_right) {
97
3
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
3
                                              res_data_type, context->check_overflow_for_decimal());
99
152
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
152
        } else if (is_const_right) {
103
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
0
                                            res_data_type, context->check_overflow_for_decimal());
105
152
        } else {
106
152
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
152
                                          res_data_type, context->check_overflow_for_decimal());
108
152
        }
109
155
        block.replace_by_position(result, std::move(column_result));
110
155
        return Status::OK();
111
155
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
36
                        uint32_t result, size_t input_rows_count) const override {
85
36
        auto& column_left = block.get_by_position(arguments[0]).column;
86
36
        auto& column_right = block.get_by_position(arguments[1]).column;
87
36
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
36
                block.get_by_position(arguments[0]).type.get());
89
36
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
36
                block.get_by_position(arguments[1]).type.get());
91
36
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
36
        bool is_const_left = is_column_const(*column_left);
93
36
        bool is_const_right = is_column_const(*column_right);
94
95
36
        ColumnPtr column_result = nullptr;
96
36
        if (is_const_left && is_const_right) {
97
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
0
                                              res_data_type, context->check_overflow_for_decimal());
99
36
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
36
        } else if (is_const_right) {
103
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
0
                                            res_data_type, context->check_overflow_for_decimal());
105
36
        } else {
106
36
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
36
                                          res_data_type, context->check_overflow_for_decimal());
108
36
        }
109
36
        block.replace_by_position(result, std::move(column_result));
110
36
        return Status::OK();
111
36
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
1.15k
                        uint32_t result, size_t input_rows_count) const override {
85
1.15k
        auto& column_left = block.get_by_position(arguments[0]).column;
86
1.15k
        auto& column_right = block.get_by_position(arguments[1]).column;
87
1.15k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
1.15k
                block.get_by_position(arguments[0]).type.get());
89
1.15k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
1.15k
                block.get_by_position(arguments[1]).type.get());
91
1.15k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
1.15k
        bool is_const_left = is_column_const(*column_left);
93
1.15k
        bool is_const_right = is_column_const(*column_right);
94
95
1.15k
        ColumnPtr column_result = nullptr;
96
1.15k
        if (is_const_left && is_const_right) {
97
6
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
6
                                              res_data_type, context->check_overflow_for_decimal());
99
1.14k
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
1.14k
        } else if (is_const_right) {
103
37
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
37
                                            res_data_type, context->check_overflow_for_decimal());
105
1.10k
        } else {
106
1.10k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
1.10k
                                          res_data_type, context->check_overflow_for_decimal());
108
1.10k
        }
109
1.15k
        block.replace_by_position(result, std::move(column_result));
110
1.15k
        return Status::OK();
111
1.15k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
17
                        uint32_t result, size_t input_rows_count) const override {
85
17
        auto& column_left = block.get_by_position(arguments[0]).column;
86
17
        auto& column_right = block.get_by_position(arguments[1]).column;
87
17
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
17
                block.get_by_position(arguments[0]).type.get());
89
17
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
17
                block.get_by_position(arguments[1]).type.get());
91
17
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
17
        bool is_const_left = is_column_const(*column_left);
93
17
        bool is_const_right = is_column_const(*column_right);
94
95
17
        ColumnPtr column_result = nullptr;
96
17
        if (is_const_left && is_const_right) {
97
9
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
9
                                              res_data_type, context->check_overflow_for_decimal());
99
9
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
8
        } else if (is_const_right) {
103
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
0
                                            res_data_type, context->check_overflow_for_decimal());
105
8
        } else {
106
8
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
8
                                          res_data_type, context->check_overflow_for_decimal());
108
8
        }
109
17
        block.replace_by_position(result, std::move(column_result));
110
17
        return Status::OK();
111
17
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
9
                        uint32_t result, size_t input_rows_count) const override {
85
9
        auto& column_left = block.get_by_position(arguments[0]).column;
86
9
        auto& column_right = block.get_by_position(arguments[1]).column;
87
9
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
9
                block.get_by_position(arguments[0]).type.get());
89
9
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
9
                block.get_by_position(arguments[1]).type.get());
91
9
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
9
        bool is_const_left = is_column_const(*column_left);
93
9
        bool is_const_right = is_column_const(*column_right);
94
95
9
        ColumnPtr column_result = nullptr;
96
9
        if (is_const_left && is_const_right) {
97
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
1
                                              res_data_type, context->check_overflow_for_decimal());
99
8
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
8
        } else if (is_const_right) {
103
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
0
                                            res_data_type, context->check_overflow_for_decimal());
105
8
        } else {
106
8
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
8
                                          res_data_type, context->check_overflow_for_decimal());
108
8
        }
109
9
        block.replace_by_position(result, std::move(column_result));
110
9
        return Status::OK();
111
9
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
155
                        uint32_t result, size_t input_rows_count) const override {
85
155
        auto& column_left = block.get_by_position(arguments[0]).column;
86
155
        auto& column_right = block.get_by_position(arguments[1]).column;
87
155
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
155
                block.get_by_position(arguments[0]).type.get());
89
155
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
155
                block.get_by_position(arguments[1]).type.get());
91
155
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
155
        bool is_const_left = is_column_const(*column_left);
93
155
        bool is_const_right = is_column_const(*column_right);
94
95
155
        ColumnPtr column_result = nullptr;
96
155
        if (is_const_left && is_const_right) {
97
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
1
                                              res_data_type, context->check_overflow_for_decimal());
99
154
        } else if (is_const_left) {
100
1
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
1
                                            res_data_type, context->check_overflow_for_decimal());
102
153
        } else if (is_const_right) {
103
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
0
                                            res_data_type, context->check_overflow_for_decimal());
105
153
        } else {
106
153
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
153
                                          res_data_type, context->check_overflow_for_decimal());
108
153
        }
109
155
        block.replace_by_position(result, std::move(column_result));
110
155
        return Status::OK();
111
155
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
84
73
                        uint32_t result, size_t input_rows_count) const override {
85
73
        auto& column_left = block.get_by_position(arguments[0]).column;
86
73
        auto& column_right = block.get_by_position(arguments[1]).column;
87
73
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
73
                block.get_by_position(arguments[0]).type.get());
89
73
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
73
                block.get_by_position(arguments[1]).type.get());
91
73
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
73
        bool is_const_left = is_column_const(*column_left);
93
73
        bool is_const_right = is_column_const(*column_right);
94
95
73
        ColumnPtr column_result = nullptr;
96
73
        if (is_const_left && is_const_right) {
97
31
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
31
                                              res_data_type, context->check_overflow_for_decimal());
99
42
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
42
        } else if (is_const_right) {
103
42
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
42
                                            res_data_type, context->check_overflow_for_decimal());
105
42
        } else {
106
0
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
0
                                          res_data_type, context->check_overflow_for_decimal());
108
0
        }
109
73
        block.replace_by_position(result, std::move(column_result));
110
73
        return Status::OK();
111
73
    }
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
84
8
                        uint32_t result, size_t input_rows_count) const override {
85
8
        auto& column_left = block.get_by_position(arguments[0]).column;
86
8
        auto& column_right = block.get_by_position(arguments[1]).column;
87
8
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
8
                block.get_by_position(arguments[0]).type.get());
89
8
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
8
                block.get_by_position(arguments[1]).type.get());
91
8
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
8
        bool is_const_left = is_column_const(*column_left);
93
8
        bool is_const_right = is_column_const(*column_right);
94
95
8
        ColumnPtr column_result = nullptr;
96
8
        if (is_const_left && is_const_right) {
97
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
0
                                              res_data_type, context->check_overflow_for_decimal());
99
8
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
8
        } else if (is_const_right) {
103
8
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
8
                                            res_data_type, context->check_overflow_for_decimal());
105
8
        } else {
106
0
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
0
                                          res_data_type, context->check_overflow_for_decimal());
108
0
        }
109
8
        block.replace_by_position(result, std::move(column_result));
110
8
        return Status::OK();
111
8
    }
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
84
115
                        uint32_t result, size_t input_rows_count) const override {
85
115
        auto& column_left = block.get_by_position(arguments[0]).column;
86
115
        auto& column_right = block.get_by_position(arguments[1]).column;
87
115
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
115
                block.get_by_position(arguments[0]).type.get());
89
115
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
115
                block.get_by_position(arguments[1]).type.get());
91
115
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
115
        bool is_const_left = is_column_const(*column_left);
93
115
        bool is_const_right = is_column_const(*column_right);
94
95
115
        ColumnPtr column_result = nullptr;
96
115
        if (is_const_left && is_const_right) {
97
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
0
                                              res_data_type, context->check_overflow_for_decimal());
99
115
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
115
        } else if (is_const_right) {
103
10
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
10
                                            res_data_type, context->check_overflow_for_decimal());
105
105
        } else {
106
105
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
105
                                          res_data_type, context->check_overflow_for_decimal());
108
105
        }
109
115
        block.replace_by_position(result, std::move(column_result));
110
115
        return Status::OK();
111
115
    }
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
84
7
                        uint32_t result, size_t input_rows_count) const override {
85
7
        auto& column_left = block.get_by_position(arguments[0]).column;
86
7
        auto& column_right = block.get_by_position(arguments[1]).column;
87
7
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
88
7
                block.get_by_position(arguments[0]).type.get());
89
7
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
90
7
                block.get_by_position(arguments[1]).type.get());
91
7
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
92
7
        bool is_const_left = is_column_const(*column_left);
93
7
        bool is_const_right = is_column_const(*column_right);
94
95
7
        ColumnPtr column_result = nullptr;
96
7
        if (is_const_left && is_const_right) {
97
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
98
1
                                              res_data_type, context->check_overflow_for_decimal());
99
6
        } else if (is_const_left) {
100
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
101
0
                                            res_data_type, context->check_overflow_for_decimal());
102
6
        } else if (is_const_right) {
103
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
104
0
                                            res_data_type, context->check_overflow_for_decimal());
105
6
        } else {
106
6
            column_result = vector_vector(column_left, column_right, type_left, type_right,
107
6
                                          res_data_type, context->check_overflow_for_decimal());
108
6
        }
109
7
        block.replace_by_position(result, std::move(column_result));
110
7
        return Status::OK();
111
7
    }
112
113
private:
114
    ColumnPtr constant_constant(ColumnPtr column_left, ColumnPtr column_right,
115
                                const typename Impl::DataTypeA* type_left,
116
                                const typename Impl::DataTypeB* type_right,
117
67
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
67
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
67
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
67
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
67
        ColumnPtr column_result = nullptr;
123
124
67
        if constexpr (result_is_decimal) {
125
33
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
1
                                        type_left, type_right, type_result);
130
131
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
1
                                        left_tmp;
133
1
                                auto left_src =
134
1
                                        column_left_ptr
135
1
                                                ->template get_value<Impl::DataTypeA::PType>();
136
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
1
                                        right_tmp;
139
1
                                auto right_src =
140
1
                                        column_right_ptr
141
1
                                                ->template get_value<Impl::DataTypeB::PType>();
142
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
1
                                column_result = Impl::constant_constant(
144
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
1
                                        max_and_multiplier.second, type_result,
146
1
                                        check_overflow_for_decimal);
147
1
                                return true;
148
1
                            })) {
149
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
0
                                    type_to_string(res_data_type->get_primitive_type()));
152
0
                }
153
32
            } else {
154
32
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
32
                                         DataTypeDecimal256>(
156
32
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
32
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
32
                                        type_left, type_right, type_result);
159
32
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
32
                                        left_tmp;
161
32
                                auto left_src =
162
32
                                        column_left_ptr
163
32
                                                ->template get_value<Impl::DataTypeA::PType>();
164
32
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
32
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
32
                                        right_tmp;
167
32
                                auto right_src =
168
32
                                        column_right_ptr
169
32
                                                ->template get_value<Impl::DataTypeB::PType>();
170
32
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
32
                                column_result = Impl::constant_constant(
172
32
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
32
                                        max_and_multiplier.second, type_result,
174
32
                                        check_overflow_for_decimal);
175
32
                                return true;
176
32
                            })) {
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
156
31
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
31
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
31
                                        type_left, type_right, type_result);
159
31
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
31
                                        left_tmp;
161
31
                                auto left_src =
162
31
                                        column_left_ptr
163
31
                                                ->template get_value<Impl::DataTypeA::PType>();
164
31
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
31
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
31
                                        right_tmp;
167
31
                                auto right_src =
168
31
                                        column_right_ptr
169
31
                                                ->template get_value<Impl::DataTypeB::PType>();
170
31
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
31
                                column_result = Impl::constant_constant(
172
31
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
31
                                        max_and_multiplier.second, type_result,
174
31
                                        check_overflow_for_decimal);
175
31
                                return true;
176
31
                            })) {
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
156
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
1
                                        type_left, type_right, type_result);
159
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
1
                                        left_tmp;
161
1
                                auto left_src =
162
1
                                        column_left_ptr
163
1
                                                ->template get_value<Impl::DataTypeA::PType>();
164
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
1
                                        right_tmp;
167
1
                                auto right_src =
168
1
                                        column_right_ptr
169
1
                                                ->template get_value<Impl::DataTypeB::PType>();
170
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
1
                                column_result = Impl::constant_constant(
172
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
1
                                        max_and_multiplier.second, type_result,
174
1
                                        check_overflow_for_decimal);
175
1
                                return true;
176
1
                            })) {
177
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
0
                                    type_to_string(res_data_type->get_primitive_type()));
180
0
                }
181
32
            }
182
34
        } else {
183
34
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
34
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
34
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
34
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
34
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
34
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
34
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
34
        }
191
192
33
        return ColumnConst::create(std::move(column_result), column_left->size());
193
67
    }
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
117
14
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
14
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
14
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
14
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
14
        ColumnPtr column_result = nullptr;
123
124
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
            } else {
154
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
                                         DataTypeDecimal256>(
156
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
                                        type_left, type_right, type_result);
159
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
                                        left_tmp;
161
                                auto left_src =
162
                                        column_left_ptr
163
                                                ->template get_value<Impl::DataTypeA::PType>();
164
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
                                        right_tmp;
167
                                auto right_src =
168
                                        column_right_ptr
169
                                                ->template get_value<Impl::DataTypeB::PType>();
170
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
                                column_result = Impl::constant_constant(
172
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
                                        max_and_multiplier.second, type_result,
174
                                        check_overflow_for_decimal);
175
                                return true;
176
                            })) {
177
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
                                    type_to_string(res_data_type->get_primitive_type()));
180
                }
181
            }
182
14
        } else {
183
14
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
14
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
14
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
14
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
14
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
14
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
14
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
14
        }
191
192
14
        return ColumnConst::create(std::move(column_result), column_left->size());
193
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
117
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
1
        ColumnPtr column_result = nullptr;
123
124
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
            } else {
154
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
                                         DataTypeDecimal256>(
156
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
                                        type_left, type_right, type_result);
159
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
                                        left_tmp;
161
                                auto left_src =
162
                                        column_left_ptr
163
                                                ->template get_value<Impl::DataTypeA::PType>();
164
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
                                        right_tmp;
167
                                auto right_src =
168
                                        column_right_ptr
169
                                                ->template get_value<Impl::DataTypeB::PType>();
170
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
                                column_result = Impl::constant_constant(
172
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
                                        max_and_multiplier.second, type_result,
174
                                        check_overflow_for_decimal);
175
                                return true;
176
                            })) {
177
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
                                    type_to_string(res_data_type->get_primitive_type()));
180
                }
181
            }
182
1
        } else {
183
1
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
1
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
1
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
1
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
1
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
1
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
1
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
1
        }
191
192
1
        return ColumnConst::create(std::move(column_result), column_left->size());
193
1
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_7EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
117
3
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
3
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
3
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
3
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
3
        ColumnPtr column_result = nullptr;
123
124
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
            } else {
154
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
                                         DataTypeDecimal256>(
156
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
                                        type_left, type_right, type_result);
159
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
                                        left_tmp;
161
                                auto left_src =
162
                                        column_left_ptr
163
                                                ->template get_value<Impl::DataTypeA::PType>();
164
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
                                        right_tmp;
167
                                auto right_src =
168
                                        column_right_ptr
169
                                                ->template get_value<Impl::DataTypeB::PType>();
170
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
                                column_result = Impl::constant_constant(
172
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
                                        max_and_multiplier.second, type_result,
174
                                        check_overflow_for_decimal);
175
                                return true;
176
                            })) {
177
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
                                    type_to_string(res_data_type->get_primitive_type()));
180
                }
181
            }
182
3
        } else {
183
3
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
3
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
3
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
3
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
3
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
3
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
3
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
3
        }
191
192
3
        return ColumnConst::create(std::move(column_result), column_left->size());
193
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
117
6
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
6
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
6
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
6
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
6
        ColumnPtr column_result = nullptr;
123
124
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
            } else {
154
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
                                         DataTypeDecimal256>(
156
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
                                        type_left, type_right, type_result);
159
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
                                        left_tmp;
161
                                auto left_src =
162
                                        column_left_ptr
163
                                                ->template get_value<Impl::DataTypeA::PType>();
164
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
                                        right_tmp;
167
                                auto right_src =
168
                                        column_right_ptr
169
                                                ->template get_value<Impl::DataTypeB::PType>();
170
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
                                column_result = Impl::constant_constant(
172
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
                                        max_and_multiplier.second, type_result,
174
                                        check_overflow_for_decimal);
175
                                return true;
176
                            })) {
177
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
                                    type_to_string(res_data_type->get_primitive_type()));
180
                }
181
            }
182
6
        } else {
183
6
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
6
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
6
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
6
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
6
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
6
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
6
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
6
        }
191
192
6
        return ColumnConst::create(std::move(column_result), column_left->size());
193
6
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
117
9
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
9
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
9
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
9
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
9
        ColumnPtr column_result = nullptr;
123
124
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
            } else {
154
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
                                         DataTypeDecimal256>(
156
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
                                        type_left, type_right, type_result);
159
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
                                        left_tmp;
161
                                auto left_src =
162
                                        column_left_ptr
163
                                                ->template get_value<Impl::DataTypeA::PType>();
164
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
                                        right_tmp;
167
                                auto right_src =
168
                                        column_right_ptr
169
                                                ->template get_value<Impl::DataTypeB::PType>();
170
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
                                column_result = Impl::constant_constant(
172
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
                                        max_and_multiplier.second, type_result,
174
                                        check_overflow_for_decimal);
175
                                return true;
176
                            })) {
177
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
                                    type_to_string(res_data_type->get_primitive_type()));
180
                }
181
            }
182
9
        } else {
183
9
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
9
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
9
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
9
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
9
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
9
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
9
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
9
        }
191
192
9
        return ColumnConst::create(std::move(column_result), column_left->size());
193
9
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
117
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
1
        ColumnPtr column_result = nullptr;
123
124
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
            } else {
154
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
                                         DataTypeDecimal256>(
156
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
                                        type_left, type_right, type_result);
159
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
                                        left_tmp;
161
                                auto left_src =
162
                                        column_left_ptr
163
                                                ->template get_value<Impl::DataTypeA::PType>();
164
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
                                        right_tmp;
167
                                auto right_src =
168
                                        column_right_ptr
169
                                                ->template get_value<Impl::DataTypeB::PType>();
170
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
                                column_result = Impl::constant_constant(
172
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
                                        max_and_multiplier.second, type_result,
174
                                        check_overflow_for_decimal);
175
                                return true;
176
                            })) {
177
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
                                    type_to_string(res_data_type->get_primitive_type()));
180
                }
181
            }
182
1
        } else {
183
1
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
1
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
1
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
1
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
1
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
1
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
1
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
1
        }
191
192
1
        return ColumnConst::create(std::move(column_result), column_left->size());
193
1
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_20EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
117
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
1
        ColumnPtr column_result = nullptr;
123
124
1
        if constexpr (result_is_decimal) {
125
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
1
                                        type_left, type_right, type_result);
130
131
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
1
                                        left_tmp;
133
1
                                auto left_src =
134
1
                                        column_left_ptr
135
1
                                                ->template get_value<Impl::DataTypeA::PType>();
136
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
1
                                        right_tmp;
139
1
                                auto right_src =
140
1
                                        column_right_ptr
141
1
                                                ->template get_value<Impl::DataTypeB::PType>();
142
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
1
                                column_result = Impl::constant_constant(
144
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
1
                                        max_and_multiplier.second, type_result,
146
1
                                        check_overflow_for_decimal);
147
1
                                return true;
148
1
                            })) {
149
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
0
                                    type_to_string(res_data_type->get_primitive_type()));
152
0
                }
153
            } else {
154
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
                                         DataTypeDecimal256>(
156
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
                                        type_left, type_right, type_result);
159
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
                                        left_tmp;
161
                                auto left_src =
162
                                        column_left_ptr
163
                                                ->template get_value<Impl::DataTypeA::PType>();
164
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
                                        right_tmp;
167
                                auto right_src =
168
                                        column_right_ptr
169
                                                ->template get_value<Impl::DataTypeB::PType>();
170
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
                                column_result = Impl::constant_constant(
172
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
                                        max_and_multiplier.second, type_result,
174
                                        check_overflow_for_decimal);
175
                                return true;
176
                            })) {
177
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
                                    type_to_string(res_data_type->get_primitive_type()));
180
                }
181
            }
182
        } else {
183
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
        }
191
192
1
        return ColumnConst::create(std::move(column_result), column_left->size());
193
1
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
117
31
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
31
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
31
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
31
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
31
        ColumnPtr column_result = nullptr;
123
124
31
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
31
            } else {
154
31
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
31
                                         DataTypeDecimal256>(
156
31
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
31
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
31
                                        type_left, type_right, type_result);
159
31
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
31
                                        left_tmp;
161
31
                                auto left_src =
162
31
                                        column_left_ptr
163
31
                                                ->template get_value<Impl::DataTypeA::PType>();
164
31
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
31
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
31
                                        right_tmp;
167
31
                                auto right_src =
168
31
                                        column_right_ptr
169
31
                                                ->template get_value<Impl::DataTypeB::PType>();
170
31
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
31
                                column_result = Impl::constant_constant(
172
31
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
31
                                        max_and_multiplier.second, type_result,
174
31
                                        check_overflow_for_decimal);
175
31
                                return true;
176
31
                            })) {
177
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
0
                                    type_to_string(res_data_type->get_primitive_type()));
180
0
                }
181
31
            }
182
        } else {
183
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
        }
191
192
31
        return ColumnConst::create(std::move(column_result), column_left->size());
193
31
    }
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
117
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
118
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
119
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
120
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
121
122
1
        ColumnPtr column_result = nullptr;
123
124
1
        if constexpr (result_is_decimal) {
125
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
126
                if (!cast_type_to_either<DataTypeDecimalV2>(
127
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
128
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
129
                                        type_left, type_right, type_result);
130
131
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
132
                                        left_tmp;
133
                                auto left_src =
134
                                        column_left_ptr
135
                                                ->template get_value<Impl::DataTypeA::PType>();
136
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
137
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
138
                                        right_tmp;
139
                                auto right_src =
140
                                        column_right_ptr
141
                                                ->template get_value<Impl::DataTypeB::PType>();
142
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
143
                                column_result = Impl::constant_constant(
144
                                        left_tmp, right_tmp, max_and_multiplier.first,
145
                                        max_and_multiplier.second, type_result,
146
                                        check_overflow_for_decimal);
147
                                return true;
148
                            })) {
149
                    throw Exception(ErrorCode::INTERNAL_ERROR,
150
                                    "Wrong type. Expected: Decimal, Actually: {}",
151
                                    type_to_string(res_data_type->get_primitive_type()));
152
                }
153
1
            } else {
154
1
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
155
1
                                         DataTypeDecimal256>(
156
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
157
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
158
1
                                        type_left, type_right, type_result);
159
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
160
1
                                        left_tmp;
161
1
                                auto left_src =
162
1
                                        column_left_ptr
163
1
                                                ->template get_value<Impl::DataTypeA::PType>();
164
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
165
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
166
1
                                        right_tmp;
167
1
                                auto right_src =
168
1
                                        column_right_ptr
169
1
                                                ->template get_value<Impl::DataTypeB::PType>();
170
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
171
1
                                column_result = Impl::constant_constant(
172
1
                                        left_tmp, right_tmp, max_and_multiplier.first,
173
1
                                        max_and_multiplier.second, type_result,
174
1
                                        check_overflow_for_decimal);
175
1
                                return true;
176
1
                            })) {
177
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
178
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
179
0
                                    type_to_string(res_data_type->get_primitive_type()));
180
0
                }
181
1
            }
182
        } else {
183
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
184
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
185
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
186
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
187
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
188
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
189
            column_result = Impl::constant_constant(left_tmp, right_tmp);
190
        }
191
192
1
        return ColumnConst::create(std::move(column_result), column_left->size());
193
1
    }
194
195
    ColumnPtr vector_constant(ColumnPtr column_left, ColumnPtr column_right,
196
                              const typename Impl::DataTypeA* type_left,
197
                              const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
198
16.4k
                              bool check_overflow_for_decimal) const {
199
16.4k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
16.4k
        DCHECK(column_right_ptr != nullptr);
201
202
16.4k
        ColumnPtr res = nullptr;
203
16.4k
        if constexpr (result_is_decimal) {
204
60
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
0
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
0
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
0
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
0
                                        type_left, type_right, type_result);
209
0
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
0
                                auto src = column_right_ptr
211
0
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
0
                                std::memcpy(&tmp, &src, sizeof(src));
213
0
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
0
                                                            max_and_multiplier.first,
215
0
                                                            max_and_multiplier.second, type_result,
216
0
                                                            check_overflow_for_decimal);
217
0
                                return true;
218
0
                            })) {
219
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
0
                                    type_to_string(res_data_type->get_primitive_type()));
222
0
                }
223
60
            } else {
224
60
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
60
                                         DataTypeDecimal256>(
226
60
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
60
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
60
                                        type_left, type_right, type_result);
229
60
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
60
                                auto src = column_right_ptr
231
60
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
60
                                std::memcpy(&tmp, &src, sizeof(src));
233
60
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
60
                                                            max_and_multiplier.first,
235
60
                                                            max_and_multiplier.second, type_result,
236
60
                                                            check_overflow_for_decimal);
237
60
                                return true;
238
60
                            })) {
_ZZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS3_28EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_28EEESF_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISD_EEDaSM_
Line
Count
Source
226
42
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
42
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
42
                                        type_left, type_right, type_result);
229
42
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
42
                                auto src = column_right_ptr
231
42
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
42
                                std::memcpy(&tmp, &src, sizeof(src));
233
42
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
42
                                                            max_and_multiplier.first,
235
42
                                                            max_and_multiplier.second, type_result,
236
42
                                                            check_overflow_for_decimal);
237
42
                                return true;
238
42
                            })) {
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
226
8
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
8
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
8
                                        type_left, type_right, type_result);
229
8
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
8
                                auto src = column_right_ptr
231
8
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
8
                                std::memcpy(&tmp, &src, sizeof(src));
233
8
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
8
                                                            max_and_multiplier.first,
235
8
                                                            max_and_multiplier.second, type_result,
236
8
                                                            check_overflow_for_decimal);
237
8
                                return true;
238
8
                            })) {
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
226
10
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
10
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
10
                                        type_left, type_right, type_result);
229
10
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
10
                                auto src = column_right_ptr
231
10
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
10
                                std::memcpy(&tmp, &src, sizeof(src));
233
10
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
10
                                                            max_and_multiplier.first,
235
10
                                                            max_and_multiplier.second, type_result,
236
10
                                                            check_overflow_for_decimal);
237
10
                                return true;
238
10
                            })) {
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_
239
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
0
                                    type_to_string(res_data_type->get_primitive_type()));
242
0
                }
243
60
            }
244
16.3k
        } else {
245
16.3k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
16.3k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
16.3k
            std::memcpy(&tmp, &src, sizeof(src));
248
16.3k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
16.3k
        }
250
60
        return res;
251
16.4k
    }
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
198
330
                              bool check_overflow_for_decimal) const {
199
330
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
330
        DCHECK(column_right_ptr != nullptr);
201
202
330
        ColumnPtr res = nullptr;
203
        if constexpr (result_is_decimal) {
204
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
                                        type_left, type_right, type_result);
209
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
                                auto src = column_right_ptr
211
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
                                std::memcpy(&tmp, &src, sizeof(src));
213
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
                                                            max_and_multiplier.first,
215
                                                            max_and_multiplier.second, type_result,
216
                                                            check_overflow_for_decimal);
217
                                return true;
218
                            })) {
219
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
                                    type_to_string(res_data_type->get_primitive_type()));
222
                }
223
            } else {
224
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
                                         DataTypeDecimal256>(
226
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
                                        type_left, type_right, type_result);
229
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
                                auto src = column_right_ptr
231
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
                                std::memcpy(&tmp, &src, sizeof(src));
233
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
                                                            max_and_multiplier.first,
235
                                                            max_and_multiplier.second, type_result,
236
                                                            check_overflow_for_decimal);
237
                                return true;
238
                            })) {
239
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
                                    type_to_string(res_data_type->get_primitive_type()));
242
                }
243
            }
244
330
        } else {
245
330
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
330
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
330
            std::memcpy(&tmp, &src, sizeof(src));
248
330
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
330
        }
250
330
        return res;
251
330
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_5EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
198
115
                              bool check_overflow_for_decimal) const {
199
115
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
115
        DCHECK(column_right_ptr != nullptr);
201
202
115
        ColumnPtr res = nullptr;
203
        if constexpr (result_is_decimal) {
204
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
                                        type_left, type_right, type_result);
209
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
                                auto src = column_right_ptr
211
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
                                std::memcpy(&tmp, &src, sizeof(src));
213
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
                                                            max_and_multiplier.first,
215
                                                            max_and_multiplier.second, type_result,
216
                                                            check_overflow_for_decimal);
217
                                return true;
218
                            })) {
219
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
                                    type_to_string(res_data_type->get_primitive_type()));
222
                }
223
            } else {
224
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
                                         DataTypeDecimal256>(
226
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
                                        type_left, type_right, type_result);
229
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
                                auto src = column_right_ptr
231
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
                                std::memcpy(&tmp, &src, sizeof(src));
233
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
                                                            max_and_multiplier.first,
235
                                                            max_and_multiplier.second, type_result,
236
                                                            check_overflow_for_decimal);
237
                                return true;
238
                            })) {
239
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
                                    type_to_string(res_data_type->get_primitive_type()));
242
                }
243
            }
244
115
        } else {
245
115
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
115
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
115
            std::memcpy(&tmp, &src, sizeof(src));
248
115
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
115
        }
250
115
        return res;
251
115
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
198
15.8k
                              bool check_overflow_for_decimal) const {
199
15.8k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
15.8k
        DCHECK(column_right_ptr != nullptr);
201
202
15.8k
        ColumnPtr res = nullptr;
203
        if constexpr (result_is_decimal) {
204
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
                                        type_left, type_right, type_result);
209
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
                                auto src = column_right_ptr
211
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
                                std::memcpy(&tmp, &src, sizeof(src));
213
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
                                                            max_and_multiplier.first,
215
                                                            max_and_multiplier.second, type_result,
216
                                                            check_overflow_for_decimal);
217
                                return true;
218
                            })) {
219
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
                                    type_to_string(res_data_type->get_primitive_type()));
222
                }
223
            } else {
224
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
                                         DataTypeDecimal256>(
226
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
                                        type_left, type_right, type_result);
229
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
                                auto src = column_right_ptr
231
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
                                std::memcpy(&tmp, &src, sizeof(src));
233
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
                                                            max_and_multiplier.first,
235
                                                            max_and_multiplier.second, type_result,
236
                                                            check_overflow_for_decimal);
237
                                return true;
238
                            })) {
239
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
                                    type_to_string(res_data_type->get_primitive_type()));
242
                }
243
            }
244
15.8k
        } else {
245
15.8k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
15.8k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
15.8k
            std::memcpy(&tmp, &src, sizeof(src));
248
15.8k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
15.8k
        }
250
15.8k
        return res;
251
15.8k
    }
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
198
37
                              bool check_overflow_for_decimal) const {
199
37
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
37
        DCHECK(column_right_ptr != nullptr);
201
202
37
        ColumnPtr res = nullptr;
203
        if constexpr (result_is_decimal) {
204
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
                                        type_left, type_right, type_result);
209
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
                                auto src = column_right_ptr
211
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
                                std::memcpy(&tmp, &src, sizeof(src));
213
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
                                                            max_and_multiplier.first,
215
                                                            max_and_multiplier.second, type_result,
216
                                                            check_overflow_for_decimal);
217
                                return true;
218
                            })) {
219
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
                                    type_to_string(res_data_type->get_primitive_type()));
222
                }
223
            } else {
224
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
                                         DataTypeDecimal256>(
226
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
                                        type_left, type_right, type_result);
229
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
                                auto src = column_right_ptr
231
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
                                std::memcpy(&tmp, &src, sizeof(src));
233
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
                                                            max_and_multiplier.first,
235
                                                            max_and_multiplier.second, type_result,
236
                                                            check_overflow_for_decimal);
237
                                return true;
238
                            })) {
239
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
                                    type_to_string(res_data_type->get_primitive_type()));
242
                }
243
            }
244
37
        } else {
245
37
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
37
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
37
            std::memcpy(&tmp, &src, sizeof(src));
248
37
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
37
        }
250
37
        return res;
251
37
    }
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
198
42
                              bool check_overflow_for_decimal) const {
199
42
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
42
        DCHECK(column_right_ptr != nullptr);
201
202
42
        ColumnPtr res = nullptr;
203
42
        if constexpr (result_is_decimal) {
204
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
                                        type_left, type_right, type_result);
209
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
                                auto src = column_right_ptr
211
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
                                std::memcpy(&tmp, &src, sizeof(src));
213
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
                                                            max_and_multiplier.first,
215
                                                            max_and_multiplier.second, type_result,
216
                                                            check_overflow_for_decimal);
217
                                return true;
218
                            })) {
219
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
                                    type_to_string(res_data_type->get_primitive_type()));
222
                }
223
42
            } else {
224
42
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
42
                                         DataTypeDecimal256>(
226
42
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
42
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
42
                                        type_left, type_right, type_result);
229
42
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
42
                                auto src = column_right_ptr
231
42
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
42
                                std::memcpy(&tmp, &src, sizeof(src));
233
42
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
42
                                                            max_and_multiplier.first,
235
42
                                                            max_and_multiplier.second, type_result,
236
42
                                                            check_overflow_for_decimal);
237
42
                                return true;
238
42
                            })) {
239
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
0
                                    type_to_string(res_data_type->get_primitive_type()));
242
0
                }
243
42
            }
244
        } else {
245
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
            std::memcpy(&tmp, &src, sizeof(src));
248
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
        }
250
42
        return res;
251
42
    }
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
198
8
                              bool check_overflow_for_decimal) const {
199
8
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
8
        DCHECK(column_right_ptr != nullptr);
201
202
8
        ColumnPtr res = nullptr;
203
8
        if constexpr (result_is_decimal) {
204
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
                                        type_left, type_right, type_result);
209
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
                                auto src = column_right_ptr
211
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
                                std::memcpy(&tmp, &src, sizeof(src));
213
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
                                                            max_and_multiplier.first,
215
                                                            max_and_multiplier.second, type_result,
216
                                                            check_overflow_for_decimal);
217
                                return true;
218
                            })) {
219
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
                                    type_to_string(res_data_type->get_primitive_type()));
222
                }
223
8
            } else {
224
8
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
8
                                         DataTypeDecimal256>(
226
8
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
8
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
8
                                        type_left, type_right, type_result);
229
8
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
8
                                auto src = column_right_ptr
231
8
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
8
                                std::memcpy(&tmp, &src, sizeof(src));
233
8
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
8
                                                            max_and_multiplier.first,
235
8
                                                            max_and_multiplier.second, type_result,
236
8
                                                            check_overflow_for_decimal);
237
8
                                return true;
238
8
                            })) {
239
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
0
                                    type_to_string(res_data_type->get_primitive_type()));
242
0
                }
243
8
            }
244
        } else {
245
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
            std::memcpy(&tmp, &src, sizeof(src));
248
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
        }
250
8
        return res;
251
8
    }
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
198
10
                              bool check_overflow_for_decimal) const {
199
10
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
200
10
        DCHECK(column_right_ptr != nullptr);
201
202
10
        ColumnPtr res = nullptr;
203
10
        if constexpr (result_is_decimal) {
204
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
205
                if (!cast_type_to_either<DataTypeDecimalV2>(
206
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
207
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
208
                                        type_left, type_right, type_result);
209
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
210
                                auto src = column_right_ptr
211
                                                   ->template get_value<Impl::DataTypeB::PType>();
212
                                std::memcpy(&tmp, &src, sizeof(src));
213
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
214
                                                            max_and_multiplier.first,
215
                                                            max_and_multiplier.second, type_result,
216
                                                            check_overflow_for_decimal);
217
                                return true;
218
                            })) {
219
                    throw Exception(ErrorCode::INTERNAL_ERROR,
220
                                    "Wrong type. Expected: Decimal, Actually: {}",
221
                                    type_to_string(res_data_type->get_primitive_type()));
222
                }
223
10
            } else {
224
10
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
225
10
                                         DataTypeDecimal256>(
226
10
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
227
10
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
228
10
                                        type_left, type_right, type_result);
229
10
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
230
10
                                auto src = column_right_ptr
231
10
                                                   ->template get_value<Impl::DataTypeB::PType>();
232
10
                                std::memcpy(&tmp, &src, sizeof(src));
233
10
                                res = Impl::vector_constant(column_left->get_ptr(), tmp,
234
10
                                                            max_and_multiplier.first,
235
10
                                                            max_and_multiplier.second, type_result,
236
10
                                                            check_overflow_for_decimal);
237
10
                                return true;
238
10
                            })) {
239
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
240
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
241
0
                                    type_to_string(res_data_type->get_primitive_type()));
242
0
                }
243
10
            }
244
        } else {
245
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
246
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
247
            std::memcpy(&tmp, &src, sizeof(src));
248
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
249
        }
250
10
        return res;
251
10
    }
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
252
253
    ColumnPtr constant_vector(ColumnPtr column_left, ColumnPtr column_right,
254
                              const typename Impl::DataTypeA* type_left,
255
                              const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
256
1
                              bool check_overflow_for_decimal) const {
257
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
258
1
        DCHECK(column_left_ptr != nullptr);
259
260
1
        ColumnPtr res = nullptr;
261
1
        if constexpr (result_is_decimal) {
262
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
263
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
264
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
265
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
266
1
                                        type_left, type_right, type_result);
267
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
268
1
                                auto src = column_left_ptr
269
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
270
1
                                std::memcpy(&tmp, &src, sizeof(src));
271
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
272
1
                                                            max_and_multiplier.first,
273
1
                                                            max_and_multiplier.second, type_result,
274
1
                                                            check_overflow_for_decimal);
275
1
                                return true;
276
1
                            })) {
277
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
278
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
279
0
                                    type_to_string(res_data_type->get_primitive_type()));
280
0
                }
281
1
            } else {
282
0
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
283
0
                                         DataTypeDecimal256>(
284
0
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
285
0
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
286
0
                                        type_left, type_right, type_result);
287
0
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
288
0
                                auto src = column_left_ptr
289
0
                                                   ->template get_value<Impl::DataTypeA::PType>();
290
0
                                std::memcpy(&tmp, &src, sizeof(src));
291
0
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
292
0
                                                            max_and_multiplier.first,
293
0
                                                            max_and_multiplier.second, type_result,
294
0
                                                            check_overflow_for_decimal);
295
0
                                return true;
296
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_
297
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
298
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
299
0
                                    type_to_string(res_data_type->get_primitive_type()));
300
0
                }
301
0
            }
302
1
        } else {
303
0
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
304
0
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
305
0
            std::memcpy(&tmp, &src, sizeof(src));
306
0
            res = Impl::constant_vector(tmp, column_right->get_ptr());
307
0
        }
308
1
        return res;
309
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
256
1
                              bool check_overflow_for_decimal) const {
257
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
258
1
        DCHECK(column_left_ptr != nullptr);
259
260
1
        ColumnPtr res = nullptr;
261
1
        if constexpr (result_is_decimal) {
262
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
263
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
264
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
265
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
266
1
                                        type_left, type_right, type_result);
267
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
268
1
                                auto src = column_left_ptr
269
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
270
1
                                std::memcpy(&tmp, &src, sizeof(src));
271
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
272
1
                                                            max_and_multiplier.first,
273
1
                                                            max_and_multiplier.second, type_result,
274
1
                                                            check_overflow_for_decimal);
275
1
                                return true;
276
1
                            })) {
277
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
278
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
279
0
                                    type_to_string(res_data_type->get_primitive_type()));
280
0
                }
281
            } else {
282
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
283
                                         DataTypeDecimal256>(
284
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
285
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
286
                                        type_left, type_right, type_result);
287
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
288
                                auto src = column_left_ptr
289
                                                   ->template get_value<Impl::DataTypeA::PType>();
290
                                std::memcpy(&tmp, &src, sizeof(src));
291
                                res = Impl::constant_vector(tmp, column_right->get_ptr(),
292
                                                            max_and_multiplier.first,
293
                                                            max_and_multiplier.second, type_result,
294
                                                            check_overflow_for_decimal);
295
                                return true;
296
                            })) {
297
                    throw Exception(ErrorCode::INTERNAL_ERROR,
298
                                    "Wrong type. Expected: Decimal, Actually: {}",
299
                                    type_to_string(res_data_type->get_primitive_type()));
300
                }
301
            }
302
        } else {
303
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
304
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
305
            std::memcpy(&tmp, &src, sizeof(src));
306
            res = Impl::constant_vector(tmp, column_right->get_ptr());
307
        }
308
1
        return res;
309
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
310
311
    ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right,
312
                            const typename Impl::DataTypeA* type_left,
313
                            const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
314
2.22k
                            bool check_overflow_for_decimal) const {
315
2.22k
        ColumnPtr res = nullptr;
316
2.22k
        if constexpr (result_is_decimal) {
317
264
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
153
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
153
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
153
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
153
                                        type_left, type_right, type_result);
322
153
                                res = Impl::vector_vector(
323
153
                                        column_left->get_ptr(), column_right->get_ptr(),
324
153
                                        max_and_multiplier.first, max_and_multiplier.second,
325
153
                                        type_result, check_overflow_for_decimal);
326
153
                                return true;
327
153
                            })) {
328
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
0
                                    type_to_string(res_data_type->get_primitive_type()));
331
0
                }
332
153
            } else {
333
111
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
111
                                         DataTypeDecimal256>(
335
111
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
111
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
111
                                        type_left, type_right, type_result);
338
111
                                res = Impl::vector_vector(
339
111
                                        column_left->get_ptr(), column_right->get_ptr(),
340
111
                                        max_and_multiplier.first, max_and_multiplier.second,
341
111
                                        type_result, check_overflow_for_decimal);
342
111
                                return true;
343
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
335
105
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
105
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
105
                                        type_left, type_right, type_result);
338
105
                                res = Impl::vector_vector(
339
105
                                        column_left->get_ptr(), column_right->get_ptr(),
340
105
                                        max_and_multiplier.first, max_and_multiplier.second,
341
105
                                        type_result, check_overflow_for_decimal);
342
105
                                return true;
343
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
335
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
6
                                        type_left, type_right, type_result);
338
6
                                res = Impl::vector_vector(
339
6
                                        column_left->get_ptr(), column_right->get_ptr(),
340
6
                                        max_and_multiplier.first, max_and_multiplier.second,
341
6
                                        type_result, check_overflow_for_decimal);
342
6
                                return true;
343
6
                            })) {
344
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
0
                                    type_to_string(res_data_type->get_primitive_type()));
347
0
                }
348
111
            }
349
1.96k
        } else {
350
1.96k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
1.96k
        }
352
264
        return res;
353
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
314
32
                            bool check_overflow_for_decimal) const {
315
32
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
32
        } else {
350
32
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
32
        }
352
32
        return res;
353
32
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_5EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
41
                            bool check_overflow_for_decimal) const {
315
41
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
41
        } else {
350
41
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
41
        }
352
41
        return res;
353
41
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
577
                            bool check_overflow_for_decimal) const {
315
577
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
577
        } else {
350
577
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
577
        }
352
577
        return res;
353
577
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_7EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
151
                            bool check_overflow_for_decimal) const {
315
151
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
151
        } else {
350
151
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
151
        }
352
151
        return res;
353
151
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_8EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
36
                            bool check_overflow_for_decimal) const {
315
36
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
36
        } else {
350
36
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
36
        }
352
36
        return res;
353
36
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
1.10k
                            bool check_overflow_for_decimal) const {
315
1.10k
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
1.10k
        } else {
350
1.10k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
1.10k
        }
352
1.10k
        return res;
353
1.10k
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_6EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
8
                            bool check_overflow_for_decimal) const {
315
8
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
8
        } else {
350
8
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
8
        }
352
8
        return res;
353
8
    }
_ZNK5doris11FunctionModINS_14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_14DataTypeNumberILS3_9EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
8
                            bool check_overflow_for_decimal) const {
315
8
        ColumnPtr res = nullptr;
316
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
8
        } else {
350
8
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
8
        }
352
8
        return res;
353
8
    }
_ZNK5doris11FunctionModINS_14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS3_20EEEEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS8_EESB_PKNS_15DataTypeDecimalILS3_20EEESF_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
314
153
                            bool check_overflow_for_decimal) const {
315
153
        ColumnPtr res = nullptr;
316
153
        if constexpr (result_is_decimal) {
317
153
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
153
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
153
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
153
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
153
                                        type_left, type_right, type_result);
322
153
                                res = Impl::vector_vector(
323
153
                                        column_left->get_ptr(), column_right->get_ptr(),
324
153
                                        max_and_multiplier.first, max_and_multiplier.second,
325
153
                                        type_result, check_overflow_for_decimal);
326
153
                                return true;
327
153
                            })) {
328
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
0
                                    type_to_string(res_data_type->get_primitive_type()));
331
0
                }
332
            } else {
333
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
                                         DataTypeDecimal256>(
335
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
                                        type_left, type_right, type_result);
338
                                res = Impl::vector_vector(
339
                                        column_left->get_ptr(), column_right->get_ptr(),
340
                                        max_and_multiplier.first, max_and_multiplier.second,
341
                                        type_result, check_overflow_for_decimal);
342
                                return true;
343
                            })) {
344
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
                                    type_to_string(res_data_type->get_primitive_type()));
347
                }
348
            }
349
        } else {
350
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
        }
352
153
        return res;
353
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
314
105
                            bool check_overflow_for_decimal) const {
315
105
        ColumnPtr res = nullptr;
316
105
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
105
            } else {
333
105
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
105
                                         DataTypeDecimal256>(
335
105
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
105
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
105
                                        type_left, type_right, type_result);
338
105
                                res = Impl::vector_vector(
339
105
                                        column_left->get_ptr(), column_right->get_ptr(),
340
105
                                        max_and_multiplier.first, max_and_multiplier.second,
341
105
                                        type_result, check_overflow_for_decimal);
342
105
                                return true;
343
105
                            })) {
344
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
0
                                    type_to_string(res_data_type->get_primitive_type()));
347
0
                }
348
105
            }
349
        } else {
350
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
        }
352
105
        return res;
353
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
314
6
                            bool check_overflow_for_decimal) const {
315
6
        ColumnPtr res = nullptr;
316
6
        if constexpr (result_is_decimal) {
317
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
318
                if (!cast_type_to_either<DataTypeDecimalV2>(
319
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
320
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
321
                                        type_left, type_right, type_result);
322
                                res = Impl::vector_vector(
323
                                        column_left->get_ptr(), column_right->get_ptr(),
324
                                        max_and_multiplier.first, max_and_multiplier.second,
325
                                        type_result, check_overflow_for_decimal);
326
                                return true;
327
                            })) {
328
                    throw Exception(ErrorCode::INTERNAL_ERROR,
329
                                    "Wrong type. Expected: Decimal, Actually: {}",
330
                                    type_to_string(res_data_type->get_primitive_type()));
331
                }
332
6
            } else {
333
6
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
334
6
                                         DataTypeDecimal256>(
335
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
336
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
337
6
                                        type_left, type_right, type_result);
338
6
                                res = Impl::vector_vector(
339
6
                                        column_left->get_ptr(), column_right->get_ptr(),
340
6
                                        max_and_multiplier.first, max_and_multiplier.second,
341
6
                                        type_result, check_overflow_for_decimal);
342
6
                                return true;
343
6
                            })) {
344
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
345
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
346
0
                                    type_to_string(res_data_type->get_primitive_type()));
347
0
                }
348
6
            }
349
        } else {
350
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
351
        }
352
6
        return res;
353
6
    }
354
};
355
356
static const DecimalV2Value one(1, 0);
357
358
template <typename Impl>
359
struct ModNumericImpl {
360
    static constexpr auto name = Impl::name;
361
    static constexpr bool result_is_decimal = false;
362
    using ArgA = typename Impl::ArgA;
363
    using ArgB = typename Impl::ArgB;
364
    using ColumnType = typename Impl::ColumnType;
365
    using DataTypeA = typename Impl::DataTypeA;
366
    using DataTypeB = typename Impl::DataTypeB;
367
368
    constexpr static bool need_replace_null_data_to_default = false;
369
370
72
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE27get_variadic_argument_typesEv
Line
Count
Source
370
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
371
372
34
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
373
34
        auto column_result = ColumnType ::create(1);
374
375
34
        auto null_map = ColumnUInt8::create(1, 0);
376
34
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
377
34
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
378
34
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE17constant_constantEaa
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE17constant_constantEss
Line
Count
Source
372
14
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
373
14
        auto column_result = ColumnType ::create(1);
374
375
14
        auto null_map = ColumnUInt8::create(1, 0);
376
14
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
377
14
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
378
14
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE17constant_constantEii
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE17constant_constantEll
Line
Count
Source
372
1
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
373
1
        auto column_result = ColumnType ::create(1);
374
375
1
        auto null_map = ColumnUInt8::create(1, 0);
376
1
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
377
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
378
1
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE17constant_constantEnn
Line
Count
Source
372
3
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
373
3
        auto column_result = ColumnType ::create(1);
374
375
3
        auto null_map = ColumnUInt8::create(1, 0);
376
3
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
377
3
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
378
3
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE17constant_constantEff
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE17constant_constantEdd
Line
Count
Source
372
6
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
373
6
        auto column_result = ColumnType ::create(1);
374
375
6
        auto null_map = ColumnUInt8::create(1, 0);
376
6
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
377
6
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
378
6
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE17constant_constantEll
Line
Count
Source
372
9
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
373
9
        auto column_result = ColumnType ::create(1);
374
375
9
        auto null_map = ColumnUInt8::create(1, 0);
376
9
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
377
9
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
378
9
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE17constant_constantEdd
Line
Count
Source
372
1
    static ColumnPtr constant_constant(ArgA a, ArgB b) {
373
1
        auto column_result = ColumnType ::create(1);
374
375
1
        auto null_map = ColumnUInt8::create(1, 0);
376
1
        column_result->get_element(0) = Impl::apply(a, b, null_map->get_element(0));
377
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
378
1
    }
379
380
16.3k
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
381
16.3k
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
382
16.3k
        auto column_result = ColumnType::create(column_left->size());
383
16.3k
        DCHECK(column_left_ptr != nullptr);
384
385
16.3k
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
386
16.3k
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
387
16.3k
                    null_map->get_data());
388
16.3k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
389
16.3k
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEa
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEs
Line
Count
Source
380
330
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
381
330
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
382
330
        auto column_result = ColumnType::create(column_left->size());
383
330
        DCHECK(column_left_ptr != nullptr);
384
385
330
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
386
330
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
387
330
                    null_map->get_data());
388
330
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
389
330
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEi
Line
Count
Source
380
116
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
381
116
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
382
116
        auto column_result = ColumnType::create(column_left->size());
383
116
        DCHECK(column_left_ptr != nullptr);
384
385
116
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
386
116
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
387
116
                    null_map->get_data());
388
116
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
389
116
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEl
Line
Count
Source
380
15.8k
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
381
15.8k
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
382
15.8k
        auto column_result = ColumnType::create(column_left->size());
383
15.8k
        DCHECK(column_left_ptr != nullptr);
384
385
15.8k
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
386
15.8k
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
387
15.8k
                    null_map->get_data());
388
15.8k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
389
15.8k
    }
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
380
37
    static ColumnPtr vector_constant(ColumnPtr column_left, ArgB b) {
381
37
        const auto column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
382
37
        auto column_result = ColumnType::create(column_left->size());
383
37
        DCHECK(column_left_ptr != nullptr);
384
385
37
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
386
37
        Impl::apply(column_left_ptr->get_data(), b, column_result->get_data(),
387
37
                    null_map->get_data());
388
37
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
389
37
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEl
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EEd
390
391
0
    static ColumnPtr constant_vector(ArgA a, ColumnPtr column_right) {
392
0
        const auto column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
393
0
        auto column_result = ColumnType::create(column_right->size());
394
0
        DCHECK(column_right_ptr != nullptr);
395
396
0
        auto null_map = ColumnUInt8::create(column_right->size(), 0);
397
0
        auto& b = column_right_ptr->get_data();
398
0
        auto& c = column_result->get_data();
399
0
        auto& n = null_map->get_data();
400
0
        size_t size = b.size();
401
0
        for (size_t i = 0; i < size; ++i) {
402
0
            c[i] = Impl::apply(a, b[i], n[i]);
403
0
        }
404
0
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
405
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
406
407
1.96k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
1.96k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
1.96k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
1.96k
        auto column_result = ColumnType::create(column_left->size());
412
1.96k
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
1.96k
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
1.96k
        auto& a = column_left_ptr->get_data();
416
1.96k
        auto& b = column_right_ptr->get_data();
417
1.96k
        auto& c = column_result->get_data();
418
1.96k
        auto& n = null_map->get_data();
419
1.96k
        size_t size = a.size();
420
13.7k
        for (size_t i = 0; i < size; ++i) {
421
11.7k
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
11.7k
        }
423
1.96k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
1.96k
    }
Unexecuted instantiation: _ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE3EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE4EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
32
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
32
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
32
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
32
        auto column_result = ColumnType::create(column_left->size());
412
32
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
32
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
32
        auto& a = column_left_ptr->get_data();
416
32
        auto& b = column_right_ptr->get_data();
417
32
        auto& c = column_result->get_data();
418
32
        auto& n = null_map->get_data();
419
32
        size_t size = a.size();
420
228
        for (size_t i = 0; i < size; ++i) {
421
196
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
196
        }
423
32
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
32
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE5EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
41
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
41
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
41
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
41
        auto column_result = ColumnType::create(column_left->size());
412
41
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
41
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
41
        auto& a = column_left_ptr->get_data();
416
41
        auto& b = column_right_ptr->get_data();
417
41
        auto& c = column_result->get_data();
418
41
        auto& n = null_map->get_data();
419
41
        size_t size = a.size();
420
290
        for (size_t i = 0; i < size; ++i) {
421
249
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
249
        }
423
41
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
41
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE6EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
574
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
574
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
574
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
574
        auto column_result = ColumnType::create(column_left->size());
412
574
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
574
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
574
        auto& a = column_left_ptr->get_data();
416
574
        auto& b = column_right_ptr->get_data();
417
574
        auto& c = column_result->get_data();
418
574
        auto& n = null_map->get_data();
419
574
        size_t size = a.size();
420
4.10k
        for (size_t i = 0; i < size; ++i) {
421
3.53k
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
3.53k
        }
423
574
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
574
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE7EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
152
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
152
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
152
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
152
        auto column_result = ColumnType::create(column_left->size());
412
152
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
152
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
152
        auto& a = column_left_ptr->get_data();
416
152
        auto& b = column_right_ptr->get_data();
417
152
        auto& c = column_result->get_data();
418
152
        auto& n = null_map->get_data();
419
152
        size_t size = a.size();
420
1.08k
        for (size_t i = 0; i < size; ++i) {
421
931
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
931
        }
423
152
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
152
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE8EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
36
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
36
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
36
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
36
        auto column_result = ColumnType::create(column_left->size());
412
36
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
36
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
36
        auto& a = column_left_ptr->get_data();
416
36
        auto& b = column_right_ptr->get_data();
417
36
        auto& c = column_result->get_data();
418
36
        auto& n = null_map->get_data();
419
36
        size_t size = a.size();
420
149
        for (size_t i = 0; i < size; ++i) {
421
113
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
113
        }
423
36
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
36
    }
_ZN5doris14ModNumericImplINS_17ModuloNumericImplILNS_13PrimitiveTypeE9EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
1.11k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
1.11k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
1.11k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
1.11k
        auto column_result = ColumnType::create(column_left->size());
412
1.11k
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
1.11k
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
1.11k
        auto& a = column_left_ptr->get_data();
416
1.11k
        auto& b = column_right_ptr->get_data();
417
1.11k
        auto& c = column_result->get_data();
418
1.11k
        auto& n = null_map->get_data();
419
1.11k
        size_t size = a.size();
420
7.79k
        for (size_t i = 0; i < size; ++i) {
421
6.68k
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
6.68k
        }
423
1.11k
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
1.11k
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE6EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
8
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
8
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
8
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
8
        auto column_result = ColumnType::create(column_left->size());
412
8
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
8
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
8
        auto& a = column_left_ptr->get_data();
416
8
        auto& b = column_right_ptr->get_data();
417
8
        auto& c = column_result->get_data();
418
8
        auto& n = null_map->get_data();
419
8
        size_t size = a.size();
420
33
        for (size_t i = 0; i < size; ++i) {
421
25
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
25
        }
423
8
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
8
    }
_ZN5doris14ModNumericImplINS_18PModuloNumericImplILNS_13PrimitiveTypeE9EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_
Line
Count
Source
407
8
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
408
8
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
409
8
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
410
411
8
        auto column_result = ColumnType::create(column_left->size());
412
8
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
413
414
8
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
415
8
        auto& a = column_left_ptr->get_data();
416
8
        auto& b = column_right_ptr->get_data();
417
8
        auto& c = column_result->get_data();
418
8
        auto& n = null_map->get_data();
419
8
        size_t size = a.size();
420
33
        for (size_t i = 0; i < size; ++i) {
421
25
            c[i] = Impl::apply(a[i], b[i], n[i]);
422
25
        }
423
8
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
424
8
    }
425
};
426
427
template <PrimitiveType Type>
428
struct ModuloNumericImpl {
429
    static constexpr auto name = "mod";
430
    using ArgA = typename PrimitiveTypeTraits<Type>::CppType;
431
    using ArgB = typename PrimitiveTypeTraits<Type>::CppType;
432
    using ColumnType = typename PrimitiveTypeTraits<Type>::ColumnType;
433
    using DataTypeA = typename PrimitiveTypeTraits<Type>::DataType;
434
    using DataTypeB = typename PrimitiveTypeTraits<Type>::DataType;
435
436
56
    static DataTypes get_variadic_argument_types() {
437
56
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
56
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
56
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE27get_variadic_argument_typesEv
Line
Count
Source
436
8
    static DataTypes get_variadic_argument_types() {
437
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE27get_variadic_argument_typesEv
Line
Count
Source
436
8
    static DataTypes get_variadic_argument_types() {
437
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE27get_variadic_argument_typesEv
Line
Count
Source
436
8
    static DataTypes get_variadic_argument_types() {
437
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE27get_variadic_argument_typesEv
Line
Count
Source
436
8
    static DataTypes get_variadic_argument_types() {
437
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE27get_variadic_argument_typesEv
Line
Count
Source
436
8
    static DataTypes get_variadic_argument_types() {
437
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE27get_variadic_argument_typesEv
Line
Count
Source
436
8
    static DataTypes get_variadic_argument_types() {
437
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
8
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE27get_variadic_argument_typesEv
Line
Count
Source
436
8
    static DataTypes get_variadic_argument_types() {
437
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
438
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
439
8
    }
440
441
    static void apply(const typename ColumnType::Container& a, ArgB b,
442
16.4k
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
443
16.4k
        size_t size = c.size();
444
16.4k
        UInt8 is_null = b == 0;
445
16.4k
        memset(null_map.data(), is_null, sizeof(UInt8) * size);
446
447
16.4k
        if (!is_null) {
448
16.1M
            for (size_t i = 0; i < size; i++) {
449
16.1M
                if constexpr (is_float_or_double(Type)) {
450
1.04M
                    c[i] = std::fmod((double)a[i], (double)b);
451
15.0M
                } else {
452
15.0M
                    throw_if_division_leads_to_FPE(a[i], b);
453
15.0M
                    c[i] = a[i] % b;
454
15.0M
                }
455
16.1M
            }
456
16.3k
        }
457
16.4k
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE5applyERKNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEaRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE5applyERKNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEsRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
442
330
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
443
330
        size_t size = c.size();
444
330
        UInt8 is_null = b == 0;
445
330
        memset(null_map.data(), is_null, sizeof(UInt8) * size);
446
447
330
        if (!is_null) {
448
1.49k
            for (size_t i = 0; i < size; i++) {
449
                if constexpr (is_float_or_double(Type)) {
450
                    c[i] = std::fmod((double)a[i], (double)b);
451
1.17k
                } else {
452
1.17k
                    throw_if_division_leads_to_FPE(a[i], b);
453
1.17k
                    c[i] = a[i] % b;
454
1.17k
                }
455
1.17k
            }
456
326
        }
457
330
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE5applyERKNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEiRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
442
117
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
443
117
        size_t size = c.size();
444
117
        UInt8 is_null = b == 0;
445
117
        memset(null_map.data(), is_null, sizeof(UInt8) * size);
446
447
117
        if (!is_null) {
448
512
            for (size_t i = 0; i < size; i++) {
449
                if constexpr (is_float_or_double(Type)) {
450
                    c[i] = std::fmod((double)a[i], (double)b);
451
399
                } else {
452
399
                    throw_if_division_leads_to_FPE(a[i], b);
453
399
                    c[i] = a[i] % b;
454
399
                }
455
399
            }
456
113
        }
457
117
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEElRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
442
15.9k
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
443
15.9k
        size_t size = c.size();
444
15.9k
        UInt8 is_null = b == 0;
445
15.9k
        memset(null_map.data(), is_null, sizeof(UInt8) * size);
446
447
15.9k
        if (!is_null) {
448
15.0M
            for (size_t i = 0; i < size; i++) {
449
                if constexpr (is_float_or_double(Type)) {
450
                    c[i] = std::fmod((double)a[i], (double)b);
451
15.0M
                } else {
452
15.0M
                    throw_if_division_leads_to_FPE(a[i], b);
453
15.0M
                    c[i] = a[i] % b;
454
15.0M
                }
455
15.0M
            }
456
15.9k
        }
457
15.9k
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE5applyERKNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEnRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE5applyERKNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEfRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEdRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Line
Count
Source
442
37
                      typename ColumnType::Container& c, PaddedPODArray<UInt8>& null_map) {
443
37
        size_t size = c.size();
444
37
        UInt8 is_null = b == 0;
445
37
        memset(null_map.data(), is_null, sizeof(UInt8) * size);
446
447
37
        if (!is_null) {
448
1.04M
            for (size_t i = 0; i < size; i++) {
449
1.04M
                if constexpr (is_float_or_double(Type)) {
450
1.04M
                    c[i] = std::fmod((double)a[i], (double)b);
451
                } else {
452
                    throw_if_division_leads_to_FPE(a[i], b);
453
                    c[i] = a[i] % b;
454
                }
455
1.04M
            }
456
25
        }
457
37
    }
458
459
    static inline typename PrimitiveTypeTraits<Type>::CppType apply(ArgA a, ArgB b,
460
11.7k
                                                                    UInt8& is_null) {
461
11.7k
        is_null = b == 0;
462
11.7k
        b += is_null;
463
464
11.7k
        if constexpr (is_float_or_double(Type)) {
465
6.80k
            return std::fmod((double)a, (double)b);
466
6.80k
        } else {
467
4.92k
            throw_if_division_leads_to_FPE(a, b);
468
4.92k
            return a % b;
469
4.92k
        }
470
11.7k
    }
Unexecuted instantiation: _ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE3EE5applyEaaRh
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE4EE5applyEssRh
Line
Count
Source
460
210
                                                                    UInt8& is_null) {
461
210
        is_null = b == 0;
462
210
        b += is_null;
463
464
        if constexpr (is_float_or_double(Type)) {
465
            return std::fmod((double)a, (double)b);
466
210
        } else {
467
210
            throw_if_division_leads_to_FPE(a, b);
468
210
            return a % b;
469
210
        }
470
210
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE5EE5applyEiiRh
Line
Count
Source
460
249
                                                                    UInt8& is_null) {
461
249
        is_null = b == 0;
462
249
        b += is_null;
463
464
        if constexpr (is_float_or_double(Type)) {
465
            return std::fmod((double)a, (double)b);
466
249
        } else {
467
249
            throw_if_division_leads_to_FPE(a, b);
468
249
            return a % b;
469
249
        }
470
249
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE6EE5applyEllRh
Line
Count
Source
460
3.53k
                                                                    UInt8& is_null) {
461
3.53k
        is_null = b == 0;
462
3.53k
        b += is_null;
463
464
        if constexpr (is_float_or_double(Type)) {
465
            return std::fmod((double)a, (double)b);
466
3.53k
        } else {
467
3.53k
            throw_if_division_leads_to_FPE(a, b);
468
3.53k
            return a % b;
469
3.53k
        }
470
3.53k
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE7EE5applyEnnRh
Line
Count
Source
460
934
                                                                    UInt8& is_null) {
461
934
        is_null = b == 0;
462
934
        b += is_null;
463
464
        if constexpr (is_float_or_double(Type)) {
465
            return std::fmod((double)a, (double)b);
466
934
        } else {
467
934
            throw_if_division_leads_to_FPE(a, b);
468
934
            return a % b;
469
934
        }
470
934
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE8EE5applyEffRh
Line
Count
Source
460
113
                                                                    UInt8& is_null) {
461
113
        is_null = b == 0;
462
113
        b += is_null;
463
464
113
        if constexpr (is_float_or_double(Type)) {
465
113
            return std::fmod((double)a, (double)b);
466
        } else {
467
            throw_if_division_leads_to_FPE(a, b);
468
            return a % b;
469
        }
470
113
    }
_ZN5doris17ModuloNumericImplILNS_13PrimitiveTypeE9EE5applyEddRh
Line
Count
Source
460
6.69k
                                                                    UInt8& is_null) {
461
6.69k
        is_null = b == 0;
462
6.69k
        b += is_null;
463
464
6.69k
        if constexpr (is_float_or_double(Type)) {
465
6.69k
            return std::fmod((double)a, (double)b);
466
        } else {
467
            throw_if_division_leads_to_FPE(a, b);
468
            return a % b;
469
        }
470
6.69k
    }
471
};
472
473
template <PrimitiveType Type>
474
struct PModuloNumericImpl {
475
    using ArgA = typename PrimitiveTypeTraits<Type>::CppType;
476
    using ArgB = typename PrimitiveTypeTraits<Type>::CppType;
477
    using ColumnType = typename PrimitiveTypeTraits<Type>::ColumnType;
478
    using DataTypeA = typename PrimitiveTypeTraits<Type>::DataType;
479
    using DataTypeB = typename PrimitiveTypeTraits<Type>::DataType;
480
481
    static constexpr auto name = "pmod";
482
16
    static DataTypes get_variadic_argument_types() {
483
16
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
484
16
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
485
16
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE6EE27get_variadic_argument_typesEv
Line
Count
Source
482
8
    static DataTypes get_variadic_argument_types() {
483
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
484
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
485
8
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE9EE27get_variadic_argument_typesEv
Line
Count
Source
482
8
    static DataTypes get_variadic_argument_types() {
483
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
484
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
485
8
    }
486
487
    static void apply(const typename ColumnType::Container& a, ArgB b,
488
                      typename PrimitiveTypeTraits<Type>::ColumnType::Container& c,
489
0
                      PaddedPODArray<UInt8>& null_map) {
490
0
        size_t size = c.size();
491
0
        UInt8 is_null = b == 0;
492
0
        memset(null_map.data(), is_null, size);
493
494
0
        if (!is_null) {
495
0
            for (size_t i = 0; i < size; i++) {
496
0
                if constexpr (is_float_or_double(Type)) {
497
0
                    c[i] = std::fmod(std::fmod((double)a[i], (double)b) + (double)b, double(b));
498
0
                } else {
499
0
                    throw_if_division_leads_to_FPE(a[i], b);
500
0
                    c[i] = (a[i] % b + b) % b;
501
0
                }
502
0
            }
503
0
        }
504
0
    }
Unexecuted instantiation: _ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE6EE5applyERKNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEElRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE9EE5applyERKNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEEdRS7_RNS3_IhLm4096ES6_Lm16ELm15EEE
505
506
    static inline typename PrimitiveTypeTraits<Type>::CppType apply(ArgA a, ArgB b,
507
60
                                                                    UInt8& is_null) {
508
60
        is_null = b == 0;
509
60
        b += is_null;
510
511
60
        if constexpr (is_float_or_double(Type)) {
512
26
            return std::fmod(std::fmod((double)a, (double)b) + (double)b, (double)b);
513
34
        } else {
514
34
            throw_if_division_leads_to_FPE(a, b);
515
34
            return (a % b + b) % b;
516
34
        }
517
60
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE6EE5applyEllRh
Line
Count
Source
507
34
                                                                    UInt8& is_null) {
508
34
        is_null = b == 0;
509
34
        b += is_null;
510
511
        if constexpr (is_float_or_double(Type)) {
512
            return std::fmod(std::fmod((double)a, (double)b) + (double)b, (double)b);
513
34
        } else {
514
34
            throw_if_division_leads_to_FPE(a, b);
515
34
            return (a % b + b) % b;
516
34
        }
517
34
    }
_ZN5doris18PModuloNumericImplILNS_13PrimitiveTypeE9EE5applyEddRh
Line
Count
Source
507
26
                                                                    UInt8& is_null) {
508
26
        is_null = b == 0;
509
26
        b += is_null;
510
511
26
        if constexpr (is_float_or_double(Type)) {
512
26
            return std::fmod(std::fmod((double)a, (double)b) + (double)b, (double)b);
513
        } else {
514
            throw_if_division_leads_to_FPE(a, b);
515
            return (a % b + b) % b;
516
        }
517
26
    }
518
519
    template <PrimitiveType Result = TYPE_DECIMALV2>
520
    static inline DecimalV2Value apply(DecimalV2Value a, DecimalV2Value b, UInt8& is_null) {
521
        is_null = b == DecimalV2Value(0);
522
        b += DecimalV2Value(is_null);
523
        return (a % b + b) % b;
524
    }
525
};
526
527
template <PrimitiveType TypeA, PrimitiveType TypeB>
528
struct ModuloDecimalImpl {
529
    static_assert(is_decimal(TypeA) && is_decimal(TypeB));
530
    static_assert((TypeA == TYPE_DECIMALV2 && TypeB == TYPE_DECIMALV2) ||
531
                  (TypeA != TYPE_DECIMALV2 && TypeB != TYPE_DECIMALV2));
532
    static constexpr auto name = "mod";
533
    static constexpr auto is_pmod = false;
534
    using ArgA = typename PrimitiveTypeTraits<TypeA>::CppType;
535
    using ArgB = typename PrimitiveTypeTraits<TypeB>::CppType;
536
    using ArgNativeTypeA = typename PrimitiveTypeTraits<TypeA>::CppType::NativeType;
537
    using ArgNativeTypeB = typename PrimitiveTypeTraits<TypeB>::CppType::NativeType;
538
    using DataTypeA = typename PrimitiveTypeTraits<TypeA>::DataType;
539
    using DataTypeB = typename PrimitiveTypeTraits<TypeB>::DataType;
540
    using ColumnTypeA = typename PrimitiveTypeTraits<TypeA>::ColumnType;
541
    using ColumnTypeB = typename PrimitiveTypeTraits<TypeB>::ColumnType;
542
543
136
    static DataTypes get_variadic_argument_types() {
544
136
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
136
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
136
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
_ZN5doris17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
543
8
    static DataTypes get_variadic_argument_types() {
544
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
545
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
546
8
    }
547
548
934
    static inline DecimalV2Value apply(DecimalV2Value a, DecimalV2Value b, UInt8& is_null) {
549
934
        is_null = b == DecimalV2Value(0);
550
934
        return a % (b + DecimalV2Value(is_null));
551
934
    }
552
};
553
554
template <typename Impl>
555
struct ModDecimalImpl {
556
    static constexpr auto name = Impl::name;
557
    static constexpr bool result_is_decimal = true;
558
    using ArgA = typename Impl::ArgA;
559
    using ArgB = typename Impl::ArgB;
560
    using ArgNativeTypeA = typename Impl::ArgNativeTypeA;
561
    using ArgNativeTypeB = typename Impl::ArgNativeTypeB;
562
    using DataTypeA = typename Impl::DataTypeA;
563
    using DataTypeB = typename Impl::DataTypeB;
564
    using ColumnTypeA = typename Impl::ColumnTypeA;
565
    using ColumnTypeB = typename Impl::ColumnTypeB;
566
567
    constexpr static bool need_replace_null_data_to_default = true;
568
569
136
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE27get_variadic_argument_typesEv
Line
Count
Source
569
8
    static DataTypes get_variadic_argument_types() { return Impl::get_variadic_argument_types(); }
570
571
    template <PrimitiveType ResultType>
572
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
573
    static inline typename PrimitiveTypeTraits<ResultType>::CppType::NativeType impl(
574
699
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
575
699
        is_null = b == 0;
576
699
        b += is_null;
577
578
699
        throw_if_division_leads_to_FPE(a, b);
579
        if constexpr (Impl::is_pmod) {
580
            return (a % b + b) % b;
581
699
        } else {
582
699
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
583
699
                   b;
584
699
        }
585
699
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE4implILS2_28EQaaclL_ZNS_10is_decimalES2_ETL0__EneTL0__LS2_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiiRh
Line
Count
Source
574
94
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
575
94
        is_null = b == 0;
576
94
        b += is_null;
577
578
94
        throw_if_division_leads_to_FPE(a, b);
579
        if constexpr (Impl::is_pmod) {
580
            return (a % b + b) % b;
581
94
        } else {
582
94
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
583
94
                   b;
584
94
        }
585
94
    }
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
574
12
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
575
12
        is_null = b == 0;
576
12
        b += is_null;
577
578
12
        throw_if_division_leads_to_FPE(a, b);
579
        if constexpr (Impl::is_pmod) {
580
            return (a % b + b) % b;
581
12
        } else {
582
12
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
583
12
                   b;
584
12
        }
585
12
    }
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
574
585
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
575
585
        is_null = b == 0;
576
585
        b += is_null;
577
578
585
        throw_if_division_leads_to_FPE(a, b);
579
        if constexpr (Impl::is_pmod) {
580
            return (a % b + b) % b;
581
585
        } else {
582
585
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
583
585
                   b;
584
585
        }
585
585
    }
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
574
8
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null) {
575
8
        is_null = b == 0;
576
8
        b += is_null;
577
578
8
        throw_if_division_leads_to_FPE(a, b);
579
        if constexpr (Impl::is_pmod) {
580
            return (a % b + b) % b;
581
8
        } else {
582
8
            return static_cast<typename PrimitiveTypeTraits<ResultType>::CppType::NativeType>(a) %
583
8
                   b;
584
8
        }
585
8
    }
586
587
    template <PrimitiveType ResultType>
588
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
589
    static ColumnPtr constant_constant(
590
            ArgA a, ArgB b,
591
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
592
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
593
32
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
594
32
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
595
596
32
        auto null_map = ColumnUInt8::create(1, 0);
597
32
        if (check_overflow_for_decimal) {
598
32
            column_result->get_element(0) =
599
32
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
600
32
                            a.value, b.value, null_map->get_element(0), max_result_number));
601
32
        } else {
602
0
            column_result->get_element(0) =
603
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
604
0
                            a.value, b.value, null_map->get_element(0), max_result_number));
605
0
        }
606
32
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
607
32
    }
_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
593
31
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
594
31
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
595
596
31
        auto null_map = ColumnUInt8::create(1, 0);
597
31
        if (check_overflow_for_decimal) {
598
31
            column_result->get_element(0) =
599
31
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
600
31
                            a.value, b.value, null_map->get_element(0), max_result_number));
601
31
        } else {
602
0
            column_result->get_element(0) =
603
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
604
0
                            a.value, b.value, null_map->get_element(0), max_result_number));
605
0
        }
606
31
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
607
31
    }
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
593
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
594
1
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
595
596
1
        auto null_map = ColumnUInt8::create(1, 0);
597
1
        if (check_overflow_for_decimal) {
598
1
            column_result->get_element(0) =
599
1
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
600
1
                            a.value, b.value, null_map->get_element(0), max_result_number));
601
1
        } else {
602
0
            column_result->get_element(0) =
603
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
604
0
                            a.value, b.value, null_map->get_element(0), max_result_number));
605
0
        }
606
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
607
1
    }
608
609
    template <PrimitiveType ResultType>
610
        requires(ResultType == TYPE_DECIMALV2)
611
    static ColumnPtr constant_constant(
612
            ArgA a, ArgB b,
613
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
614
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
615
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
616
1
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
617
618
1
        auto null_map = ColumnUInt8::create(1, 0);
619
1
        if (check_overflow_for_decimal) {
620
1
            column_result->get_element(0) =
621
1
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<true, ResultType>(
622
1
                            a.value(), b.value(), null_map->get_element(0), max_result_number));
623
1
        } else {
624
0
            column_result->get_element(0) =
625
0
                    typename PrimitiveTypeTraits<ResultType>::CppType(apply<false, ResultType>(
626
0
                            a.value(), b.value(), null_map->get_element(0), max_result_number));
627
0
        }
628
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
629
1
    }
630
631
    template <PrimitiveType ResultType>
632
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
633
    static ColumnPtr vector_constant(
634
            ColumnPtr column_left, ArgB b,
635
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
636
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
637
60
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
638
60
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
639
60
        auto column_result =
640
60
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
641
60
        DCHECK(column_left_ptr != nullptr);
642
643
60
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
644
60
        const auto& a = column_left_ptr->get_data().data();
645
60
        const auto& c = column_result->get_data().data();
646
60
        auto& n = null_map->get_data();
647
60
        auto sz = column_left->size();
648
60
        if (check_overflow_for_decimal) {
649
164
            for (size_t i = 0; i < sz; ++i) {
650
104
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
651
104
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
652
104
            }
653
60
        } else {
654
0
            for (size_t i = 0; i < sz; ++i) {
655
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
656
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
657
0
            }
658
0
        }
659
60
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
660
60
    }
_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
637
42
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
638
42
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
639
42
        auto column_result =
640
42
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
641
42
        DCHECK(column_left_ptr != nullptr);
642
643
42
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
644
42
        const auto& a = column_left_ptr->get_data().data();
645
42
        const auto& c = column_result->get_data().data();
646
42
        auto& n = null_map->get_data();
647
42
        auto sz = column_left->size();
648
42
        if (check_overflow_for_decimal) {
649
105
            for (size_t i = 0; i < sz; ++i) {
650
63
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
651
63
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
652
63
            }
653
42
        } else {
654
0
            for (size_t i = 0; i < sz; ++i) {
655
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
656
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
657
0
            }
658
0
        }
659
42
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
660
42
    }
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
637
8
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
638
8
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
639
8
        auto column_result =
640
8
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
641
8
        DCHECK(column_left_ptr != nullptr);
642
643
8
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
644
8
        const auto& a = column_left_ptr->get_data().data();
645
8
        const auto& c = column_result->get_data().data();
646
8
        auto& n = null_map->get_data();
647
8
        auto sz = column_left->size();
648
8
        if (check_overflow_for_decimal) {
649
20
            for (size_t i = 0; i < sz; ++i) {
650
12
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
651
12
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
652
12
            }
653
8
        } else {
654
0
            for (size_t i = 0; i < sz; ++i) {
655
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
656
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
657
0
            }
658
0
        }
659
8
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
660
8
    }
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
637
10
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
638
10
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
639
10
        auto column_result =
640
10
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
641
10
        DCHECK(column_left_ptr != nullptr);
642
643
10
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
644
10
        const auto& a = column_left_ptr->get_data().data();
645
10
        const auto& c = column_result->get_data().data();
646
10
        auto& n = null_map->get_data();
647
10
        auto sz = column_left->size();
648
10
        if (check_overflow_for_decimal) {
649
39
            for (size_t i = 0; i < sz; ++i) {
650
29
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
651
29
                        apply<true, ResultType>(a[i].value, b.value, n[i], max_result_number));
652
29
            }
653
10
        } else {
654
0
            for (size_t i = 0; i < sz; ++i) {
655
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
656
0
                        apply<false, ResultType>(a[i].value, b.value, n[i], max_result_number));
657
0
            }
658
0
        }
659
10
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
660
10
    }
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
661
662
    template <PrimitiveType ResultType>
663
        requires(ResultType == TYPE_DECIMALV2)
664
    static ColumnPtr vector_constant(
665
            ColumnPtr column_left, ArgB b,
666
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
667
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
668
0
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
669
0
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
670
0
        auto column_result =
671
0
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
672
0
        DCHECK(column_left_ptr != nullptr);
673
674
0
        auto null_map = ColumnUInt8::create(column_left->size(), 0);
675
0
        const auto& a = column_left_ptr->get_data().data();
676
0
        const auto& c = column_result->get_data().data();
677
0
        auto& n = null_map->get_data();
678
0
        auto sz = column_left->size();
679
0
        if (check_overflow_for_decimal) {
680
0
            for (size_t i = 0; i < sz; ++i) {
681
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
682
0
                        apply<true, ResultType>(a[i].value(), b.value(), n[i], max_result_number));
683
0
            }
684
0
        } else {
685
0
            for (size_t i = 0; i < sz; ++i) {
686
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
687
0
                        apply<false, ResultType>(a[i].value(), b.value(), n[i], max_result_number));
688
0
            }
689
0
        }
690
0
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
691
0
    }
692
693
    template <PrimitiveType ResultType>
694
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
695
    static ColumnPtr constant_vector(
696
            ArgA a, ColumnPtr column_right,
697
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
698
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
699
0
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
700
0
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
701
0
        auto column_result =
702
0
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
703
0
        DCHECK(column_right_ptr != nullptr);
704
705
0
        auto null_map = ColumnUInt8::create(column_right->size(), 0);
706
0
        const auto& b = column_right_ptr->get_data().data();
707
0
        const auto& c = column_result->get_data().data();
708
0
        auto& n = null_map->get_data();
709
0
        auto sz = column_right->size();
710
0
        if (check_overflow_for_decimal) {
711
0
            for (size_t i = 0; i < sz; ++i) {
712
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
713
0
                        apply<true, ResultType>(a.value, b[i].value, n[i], max_result_number));
714
0
            }
715
0
        } else {
716
0
            for (size_t i = 0; i < sz; ++i) {
717
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
718
0
                        apply<false, ResultType>(a.value, b[i].value, n[i], max_result_number));
719
0
            }
720
0
        }
721
722
0
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
723
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
724
725
    template <PrimitiveType ResultType>
726
        requires(ResultType == TYPE_DECIMALV2)
727
    static ColumnPtr constant_vector(
728
            ArgA a, ColumnPtr column_right,
729
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
730
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
731
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
732
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
733
1
        auto column_result =
734
1
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
735
1
        DCHECK(column_right_ptr != nullptr);
736
737
1
        auto null_map = ColumnUInt8::create(column_right->size(), 0);
738
1
        const auto& b = column_right_ptr->get_data().data();
739
1
        const auto& c = column_result->get_data().data();
740
1
        auto& n = null_map->get_data();
741
1
        auto sz = column_right->size();
742
1
        if (check_overflow_for_decimal) {
743
2
            for (size_t i = 0; i < sz; ++i) {
744
1
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
745
1
                        apply<true, ResultType>(a.value(), b[i].value(), n[i], max_result_number));
746
1
            }
747
1
        } else {
748
0
            for (size_t i = 0; i < sz; ++i) {
749
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
750
0
                        apply<false, ResultType>(a.value(), b[i].value(), n[i], max_result_number));
751
0
            }
752
0
        }
753
754
1
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
755
1
    }
756
757
    template <PrimitiveType ResultType>
758
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
759
    static ColumnPtr vector_vector(
760
            ColumnPtr column_left, ColumnPtr column_right,
761
            const typename PrimitiveTypeTraits<ResultType>::CppType max_result_number,
762
            const typename PrimitiveTypeTraits<ResultType>::CppType scale_diff_multiplier,
763
111
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
764
111
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
765
111
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
766
767
111
        auto column_result =
768
111
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
769
111
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
770
771
        // function divide, modulo and pmod
772
111
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
773
111
        const auto& a = column_left_ptr->get_data().data();
774
111
        const auto& b = column_right_ptr->get_data().data();
775
111
        const auto& c = column_result->get_data().data();
776
111
        auto& n = null_map->get_data();
777
111
        auto sz = column_right->size();
778
111
        if (check_overflow_for_decimal) {
779
674
            for (size_t i = 0; i < sz; ++i) {
780
563
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
781
563
                        apply<true, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
782
563
            }
783
111
        } else {
784
0
            for (size_t i = 0; i < sz; ++i) {
785
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
786
0
                        apply<false, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
787
0
            }
788
0
        }
789
111
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
790
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
763
105
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
764
105
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
765
105
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
766
767
105
        auto column_result =
768
105
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
769
105
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
770
771
        // function divide, modulo and pmod
772
105
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
773
105
        const auto& a = column_left_ptr->get_data().data();
774
105
        const auto& b = column_right_ptr->get_data().data();
775
105
        const auto& c = column_result->get_data().data();
776
105
        auto& n = null_map->get_data();
777
105
        auto sz = column_right->size();
778
105
        if (check_overflow_for_decimal) {
779
661
            for (size_t i = 0; i < sz; ++i) {
780
556
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
781
556
                        apply<true, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
782
556
            }
783
105
        } else {
784
0
            for (size_t i = 0; i < sz; ++i) {
785
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
786
0
                        apply<false, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
787
0
            }
788
0
        }
789
105
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
790
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
763
6
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
764
6
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
765
6
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
766
767
6
        auto column_result =
768
6
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
769
6
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
770
771
        // function divide, modulo and pmod
772
6
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
773
6
        const auto& a = column_left_ptr->get_data().data();
774
6
        const auto& b = column_right_ptr->get_data().data();
775
6
        const auto& c = column_result->get_data().data();
776
6
        auto& n = null_map->get_data();
777
6
        auto sz = column_right->size();
778
6
        if (check_overflow_for_decimal) {
779
13
            for (size_t i = 0; i < sz; ++i) {
780
7
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
781
7
                        apply<true, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
782
7
            }
783
6
        } else {
784
0
            for (size_t i = 0; i < sz; ++i) {
785
0
                c[i] = typename DataTypeDecimal<ResultType>::FieldType(
786
0
                        apply<false, ResultType>(a[i].value, b[i].value, n[i], max_result_number));
787
0
            }
788
0
        }
789
6
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
790
6
    }
791
792
    template <PrimitiveType ResultType>
793
        requires(ResultType == TYPE_DECIMALV2)
794
    static ColumnPtr vector_vector(
795
            ColumnPtr column_left, ColumnPtr column_right,
796
            const typename PrimitiveTypeTraits<ResultType>::CppType max_result_number,
797
            const typename PrimitiveTypeTraits<ResultType>::CppType scale_diff_multiplier,
798
153
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
799
153
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
800
153
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
801
802
153
        auto column_result =
803
153
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
804
153
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
805
806
        // function divide, modulo and pmod
807
153
        auto null_map = ColumnUInt8::create(column_result->size(), 0);
808
153
        const auto& a = column_left_ptr->get_data().data();
809
153
        const auto& b = column_right_ptr->get_data().data();
810
153
        const auto& c = column_result->get_data().data();
811
153
        auto& n = null_map->get_data();
812
153
        auto sz = column_right->size();
813
153
        if (check_overflow_for_decimal) {
814
1.08k
            for (size_t i = 0; i < sz; ++i) {
815
932
                c[i] = DecimalV2Value(apply<true, TYPE_DECIMALV2>(a[i].value(), b[i].value(), n[i],
816
932
                                                                  max_result_number));
817
932
            }
818
153
        } else {
819
0
            for (size_t i = 0; i < sz; ++i) {
820
0
                c[i] = DecimalV2Value(apply<false, TYPE_DECIMALV2>(a[i].value(), b[i].value(), n[i],
821
0
                                                                   max_result_number));
822
0
            }
823
0
        }
824
153
        return ColumnNullable::create(std::move(column_result), std::move(null_map));
825
153
    }
826
827
    template <bool check_overflow_for_decimal, PrimitiveType ResultType>
828
        requires(is_decimal(ResultType))
829
    static ALWAYS_INLINE typename PrimitiveTypeTraits<ResultType>::CppType::NativeType apply(
830
            ArgNativeTypeA a, ArgNativeTypeB b, UInt8& is_null,
831
1.63k
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
832
1.63k
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
833
934
            DecimalV2Value l(a);
834
934
            DecimalV2Value r(b);
835
934
            auto ans = Impl::apply(l, r, is_null);
836
934
            using ANS_TYPE = std::decay_t<decltype(ans)>;
837
934
            if constexpr (check_overflow_for_decimal) {
838
934
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
839
934
                    if (ans.value() > max_result_number.value() ||
840
934
                        ans.value() < -max_result_number.value()) {
841
0
                        throw Exception(
842
0
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
843
0
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
844
0
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
845
0
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
846
0
                    }
847
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
848
                    if (ans.value > max_result_number.value ||
849
                        ans.value < -max_result_number.value) {
850
                        throw Exception(
851
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
852
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
853
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
854
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
855
                    }
856
                } else {
857
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
858
                        throw Exception(
859
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
860
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
861
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
862
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
863
                    }
864
                }
865
934
            }
866
934
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
867
934
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
868
934
            return result;
869
934
        } else {
870
699
            return impl<ResultType>(a, b, is_null);
871
699
        }
872
1.63k
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE5applyILb1ELS2_20EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEnnRhRKNS7_7CppTypeE
Line
Count
Source
831
934
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
832
934
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
833
934
            DecimalV2Value l(a);
834
934
            DecimalV2Value r(b);
835
934
            auto ans = Impl::apply(l, r, is_null);
836
934
            using ANS_TYPE = std::decay_t<decltype(ans)>;
837
934
            if constexpr (check_overflow_for_decimal) {
838
934
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
839
934
                    if (ans.value() > max_result_number.value() ||
840
934
                        ans.value() < -max_result_number.value()) {
841
0
                        throw Exception(
842
0
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
843
0
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
844
0
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
845
0
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
846
0
                    }
847
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
848
                    if (ans.value > max_result_number.value ||
849
                        ans.value < -max_result_number.value) {
850
                        throw Exception(
851
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
852
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
853
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
854
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
855
                    }
856
                } else {
857
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
858
                        throw Exception(
859
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
860
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
861
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
862
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
863
                    }
864
                }
865
934
            }
866
934
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
867
934
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
868
934
            return result;
869
        } else {
870
            return impl<ResultType>(a, b, is_null);
871
        }
872
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
831
94
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
832
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
833
            DecimalV2Value l(a);
834
            DecimalV2Value r(b);
835
            auto ans = Impl::apply(l, r, is_null);
836
            using ANS_TYPE = std::decay_t<decltype(ans)>;
837
            if constexpr (check_overflow_for_decimal) {
838
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
839
                    if (ans.value() > max_result_number.value() ||
840
                        ans.value() < -max_result_number.value()) {
841
                        throw Exception(
842
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
843
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
844
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
845
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
846
                    }
847
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
848
                    if (ans.value > max_result_number.value ||
849
                        ans.value < -max_result_number.value) {
850
                        throw Exception(
851
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
852
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
853
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
854
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
855
                    }
856
                } else {
857
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
858
                        throw Exception(
859
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
860
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
861
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
862
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
863
                    }
864
                }
865
            }
866
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
867
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
868
            return result;
869
94
        } else {
870
94
            return impl<ResultType>(a, b, is_null);
871
94
        }
872
94
    }
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
831
12
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
832
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
833
            DecimalV2Value l(a);
834
            DecimalV2Value r(b);
835
            auto ans = Impl::apply(l, r, is_null);
836
            using ANS_TYPE = std::decay_t<decltype(ans)>;
837
            if constexpr (check_overflow_for_decimal) {
838
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
839
                    if (ans.value() > max_result_number.value() ||
840
                        ans.value() < -max_result_number.value()) {
841
                        throw Exception(
842
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
843
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
844
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
845
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
846
                    }
847
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
848
                    if (ans.value > max_result_number.value ||
849
                        ans.value < -max_result_number.value) {
850
                        throw Exception(
851
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
852
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
853
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
854
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
855
                    }
856
                } else {
857
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
858
                        throw Exception(
859
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
860
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
861
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
862
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
863
                    }
864
                }
865
            }
866
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
867
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
868
            return result;
869
12
        } else {
870
12
            return impl<ResultType>(a, b, is_null);
871
12
        }
872
12
    }
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
831
585
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
832
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
833
            DecimalV2Value l(a);
834
            DecimalV2Value r(b);
835
            auto ans = Impl::apply(l, r, is_null);
836
            using ANS_TYPE = std::decay_t<decltype(ans)>;
837
            if constexpr (check_overflow_for_decimal) {
838
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
839
                    if (ans.value() > max_result_number.value() ||
840
                        ans.value() < -max_result_number.value()) {
841
                        throw Exception(
842
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
843
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
844
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
845
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
846
                    }
847
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
848
                    if (ans.value > max_result_number.value ||
849
                        ans.value < -max_result_number.value) {
850
                        throw Exception(
851
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
852
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
853
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
854
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
855
                    }
856
                } else {
857
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
858
                        throw Exception(
859
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
860
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
861
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
862
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
863
                    }
864
                }
865
            }
866
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
867
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
868
            return result;
869
585
        } else {
870
585
            return impl<ResultType>(a, b, is_null);
871
585
        }
872
585
    }
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
831
8
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number) {
832
        if constexpr (DataTypeA::PType == TYPE_DECIMALV2) {
833
            DecimalV2Value l(a);
834
            DecimalV2Value r(b);
835
            auto ans = Impl::apply(l, r, is_null);
836
            using ANS_TYPE = std::decay_t<decltype(ans)>;
837
            if constexpr (check_overflow_for_decimal) {
838
                if constexpr (std::is_same_v<ANS_TYPE, DecimalV2Value>) {
839
                    if (ans.value() > max_result_number.value() ||
840
                        ans.value() < -max_result_number.value()) {
841
                        throw Exception(
842
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
843
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
844
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
845
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
846
                    }
847
                } else if constexpr (IsDecimalNumber<ANS_TYPE>) {
848
                    if (ans.value > max_result_number.value ||
849
                        ans.value < -max_result_number.value) {
850
                        throw Exception(
851
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
852
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
853
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
854
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
855
                    }
856
                } else {
857
                    if (ans > max_result_number.value || ans < -max_result_number.value) {
858
                        throw Exception(
859
                                ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
860
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
861
                                DecimalV2Value(a).to_string(), name, DecimalV2Value(b).to_string(),
862
                                DecimalV2Value(ans).to_string(), type_to_string(ResultType));
863
                    }
864
                }
865
            }
866
            typename PrimitiveTypeTraits<ResultType>::CppType::NativeType result {};
867
            memcpy(&result, &ans, std::min(sizeof(result), sizeof(ans)));
868
            return result;
869
8
        } else {
870
8
            return impl<ResultType>(a, b, is_null);
871
8
        }
872
8
    }
Unexecuted instantiation: _ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE5applyILb0ELS2_35EQclL_ZNS_10is_decimalES2_ETL0_0_EEENS_19PrimitiveTypeTraitsIXT0_EE7CppType10NativeTypeEN4wide7integerILm256EiEESC_RhRKNS7_7CppTypeE
873
874
    template <PrimitiveType PT>
875
    static std::pair<typename PrimitiveTypeTraits<PT>::CppType,
876
                     typename PrimitiveTypeTraits<PT>::CppType>
877
    get_max_and_multiplier(const DataTypeA* type_left, const DataTypeB* type_right,
878
358
                           const DataTypeDecimal<PT>& type_result) {
879
358
        auto max_result_number =
880
358
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
881
882
358
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
883
358
        auto result_scale = type_result.get_scale();
884
358
        DCHECK(orig_result_scale >= result_scale);
885
358
        auto scale_diff_multiplier =
886
358
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
887
358
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
888
358
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
889
358
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE22get_max_and_multiplierILS2_20EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_20EEESE_RKNSB_IXT_EEE
Line
Count
Source
878
155
                           const DataTypeDecimal<PT>& type_result) {
879
155
        auto max_result_number =
880
155
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
881
882
155
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
883
155
        auto result_scale = type_result.get_scale();
884
        DCHECK(orig_result_scale >= result_scale);
885
155
        auto scale_diff_multiplier =
886
155
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
887
155
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
888
155
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
889
155
    }
_ZN5doris14ModDecimalImplINS_17ModuloDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE22get_max_and_multiplierILS2_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES9_EPKNS_15DataTypeDecimalILS2_28EEESE_RKNSB_IXT_EEE
Line
Count
Source
878
73
                           const DataTypeDecimal<PT>& type_result) {
879
73
        auto max_result_number =
880
73
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
881
882
73
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
883
73
        auto result_scale = type_result.get_scale();
884
        DCHECK(orig_result_scale >= result_scale);
885
73
        auto scale_diff_multiplier =
886
73
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
887
73
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
888
73
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
889
73
    }
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
878
8
                           const DataTypeDecimal<PT>& type_result) {
879
8
        auto max_result_number =
880
8
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
881
882
8
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
883
8
        auto result_scale = type_result.get_scale();
884
        DCHECK(orig_result_scale >= result_scale);
885
8
        auto scale_diff_multiplier =
886
8
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
887
8
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
888
8
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
889
8
    }
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
878
115
                           const DataTypeDecimal<PT>& type_result) {
879
115
        auto max_result_number =
880
115
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
881
882
115
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
883
115
        auto result_scale = type_result.get_scale();
884
        DCHECK(orig_result_scale >= result_scale);
885
115
        auto scale_diff_multiplier =
886
115
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
887
115
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
888
115
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
889
115
    }
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
878
7
                           const DataTypeDecimal<PT>& type_result) {
879
7
        auto max_result_number =
880
7
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
881
882
7
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
883
7
        auto result_scale = type_result.get_scale();
884
        DCHECK(orig_result_scale >= result_scale);
885
7
        auto scale_diff_multiplier =
886
7
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
887
7
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
888
7
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
889
7
    }
890
};
891
892
8
void register_function_modulo(SimpleFunctionFactory& factory) {
893
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_TINYINT>>>>();
894
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_SMALLINT>>>>();
895
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_INT>>>>();
896
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_BIGINT>>>>();
897
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_LARGEINT>>>>();
898
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_FLOAT>>>>();
899
8
    factory.register_function<FunctionMod<ModNumericImpl<ModuloNumericImpl<TYPE_DOUBLE>>>>();
900
901
8
    factory.register_function<FunctionMod<ModNumericImpl<PModuloNumericImpl<TYPE_BIGINT>>>>();
902
8
    factory.register_function<FunctionMod<ModNumericImpl<PModuloNumericImpl<TYPE_DOUBLE>>>>();
903
904
8
    factory.register_function<
905
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMALV2, TYPE_DECIMALV2>>>>();
906
907
8
    factory.register_function<
908
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL32>>>>();
909
8
    factory.register_function<
910
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL64>>>>();
911
8
    factory.register_function<
912
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL128I>>>>();
913
8
    factory.register_function<
914
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL256>>>>();
915
916
8
    factory.register_function<
917
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL32>>>>();
918
8
    factory.register_function<
919
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL64>>>>();
920
8
    factory.register_function<
921
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL128I>>>>();
922
8
    factory.register_function<
923
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL256>>>>();
924
925
8
    factory.register_function<
926
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL32>>>>();
927
8
    factory.register_function<
928
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL64>>>>();
929
8
    factory.register_function<
930
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL128I>>>>();
931
8
    factory.register_function<
932
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL256>>>>();
933
934
8
    factory.register_function<
935
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL32>>>>();
936
8
    factory.register_function<
937
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL64>>>>();
938
8
    factory.register_function<
939
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL128I>>>>();
940
8
    factory.register_function<
941
8
            FunctionMod<ModDecimalImpl<ModuloDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL256>>>>();
942
8
    factory.register_alias("mod", "fmod");
943
8
}
944
945
} // namespace doris