Coverage Report

Created: 2026-08-31 11:54

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/multiply.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/Multiply.cpp
19
// and modified by Doris
20
21
#include <stddef.h>
22
23
#include "core/column/column_decimal.h"
24
#include "core/column/column_vector.h"
25
#include "core/data_type/data_type_decimal.h"
26
#include "core/data_type/data_type_number.h"
27
#include "core/data_type/number_traits.h"
28
#include "core/types.h"
29
#include "core/value/decimalv2_value.h"
30
#include "exec/common/arithmetic_overflow.h"
31
#include "exprs/function/cast_type_to_either.h"
32
#include "exprs/function/simple_function_factory.h"
33
34
namespace doris {
35
template <PrimitiveType Type>
36
struct MultiplyIntegralImpl {
37
    static constexpr bool result_is_decimal = false;
38
    using Arg = typename PrimitiveTypeTraits<Type>::CppType;
39
    using ColumnType = typename PrimitiveTypeTraits<Type>::ColumnType;
40
    static constexpr PrimitiveType ArgAPType = Type;
41
    static constexpr PrimitiveType ArgBPType = Type;
42
    using ArgA = Arg;
43
    using ArgB = Arg;
44
    using DataTypeA = typename PrimitiveTypeTraits<Type>::DataType;
45
    using DataTypeB = typename PrimitiveTypeTraits<Type>::DataType;
46
    static constexpr PrimitiveType ResultType = Type;
47
    constexpr static bool need_replace_null_data_to_default = false;
48
49
56
    static DataTypes get_variadic_argument_types() {
50
56
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
56
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
56
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE3EE27get_variadic_argument_typesEv
Line
Count
Source
49
8
    static DataTypes get_variadic_argument_types() {
50
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
8
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE4EE27get_variadic_argument_typesEv
Line
Count
Source
49
8
    static DataTypes get_variadic_argument_types() {
50
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
8
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE5EE27get_variadic_argument_typesEv
Line
Count
Source
49
8
    static DataTypes get_variadic_argument_types() {
50
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
8
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE27get_variadic_argument_typesEv
Line
Count
Source
49
8
    static DataTypes get_variadic_argument_types() {
50
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
8
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE27get_variadic_argument_typesEv
Line
Count
Source
49
8
    static DataTypes get_variadic_argument_types() {
50
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
8
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE27get_variadic_argument_typesEv
Line
Count
Source
49
8
    static DataTypes get_variadic_argument_types() {
50
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
8
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE27get_variadic_argument_typesEv
Line
Count
Source
49
8
    static DataTypes get_variadic_argument_types() {
50
8
        return {std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>(),
51
8
                std::make_shared<typename PrimitiveTypeTraits<Type>::DataType>()};
52
8
    }
53
54
    NO_SANITIZE_UNDEFINED static inline typename PrimitiveTypeTraits<Type>::CppType apply(Arg a,
55
2.49M
                                                                                          Arg b) {
56
2.49M
        return a * b;
57
2.49M
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE3EE5applyEaa
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE4EE5applyEss
Line
Count
Source
55
208
                                                                                          Arg b) {
56
208
        return a * b;
57
208
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE5EE5applyEii
Line
Count
Source
55
285
                                                                                          Arg b) {
56
285
        return a * b;
57
285
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE5applyEll
Line
Count
Source
55
150k
                                                                                          Arg b) {
56
150k
        return a * b;
57
150k
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE5applyEnn
Line
Count
Source
55
940
                                                                                          Arg b) {
56
940
        return a * b;
57
940
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE5applyEff
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE5applyEdd
Line
Count
Source
55
2.34M
                                                                                          Arg b) {
56
2.34M
        return a * b;
57
2.34M
    }
58
59
15
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
15
        auto column_result = ColumnType ::create(1);
61
15
        column_result->get_element(0) = apply(a, b);
62
15
        return column_result;
63
15
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE3EE17constant_constantEaa
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE4EE17constant_constantEss
Line
Count
Source
59
2
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
2
        auto column_result = ColumnType ::create(1);
61
2
        column_result->get_element(0) = apply(a, b);
62
2
        return column_result;
63
2
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE5EE17constant_constantEii
Line
Count
Source
59
4
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
4
        auto column_result = ColumnType ::create(1);
61
4
        column_result->get_element(0) = apply(a, b);
62
4
        return column_result;
63
4
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE17constant_constantEll
Line
Count
Source
59
4
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
4
        auto column_result = ColumnType ::create(1);
61
4
        column_result->get_element(0) = apply(a, b);
62
4
        return column_result;
63
4
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE17constant_constantEnn
Line
Count
Source
59
1
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
1
        auto column_result = ColumnType ::create(1);
61
1
        column_result->get_element(0) = apply(a, b);
62
1
        return column_result;
63
1
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE17constant_constantEff
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE17constant_constantEdd
Line
Count
Source
59
4
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
4
        auto column_result = ColumnType ::create(1);
61
4
        column_result->get_element(0) = apply(a, b);
62
4
        return column_result;
63
4
    }
64
65
9.47k
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
9.47k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
9.47k
        auto column_result = ColumnType::create(column_left->size());
68
69
9.47k
        auto& a = column_left_ptr->get_data();
70
9.47k
        auto& c = column_result->get_data();
71
9.47k
        size_t size = a.size();
72
1.19M
        for (size_t i = 0; i < size; ++i) {
73
1.18M
            c[i] = apply(a[i], b);
74
1.18M
        }
75
9.47k
        return column_result;
76
9.47k
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE3EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEa
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE4EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEs
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE5EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEi
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEl
Line
Count
Source
65
9.24k
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
9.24k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
9.24k
        auto column_result = ColumnType::create(column_left->size());
68
69
9.24k
        auto& a = column_left_ptr->get_data();
70
9.24k
        auto& c = column_result->get_data();
71
9.24k
        size_t size = a.size();
72
147k
        for (size_t i = 0; i < size; ++i) {
73
138k
            c[i] = apply(a[i], b);
74
138k
        }
75
9.24k
        return column_result;
76
9.24k
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEn
Line
Count
Source
65
6
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
6
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
6
        auto column_result = ColumnType::create(column_left->size());
68
69
6
        auto& a = column_left_ptr->get_data();
70
6
        auto& c = column_result->get_data();
71
6
        size_t size = a.size();
72
14
        for (size_t i = 0; i < size; ++i) {
73
8
            c[i] = apply(a[i], b);
74
8
        }
75
6
        return column_result;
76
6
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEf
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEd
Line
Count
Source
65
216
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
216
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
216
        auto column_result = ColumnType::create(column_left->size());
68
69
216
        auto& a = column_left_ptr->get_data();
70
216
        auto& c = column_result->get_data();
71
216
        size_t size = a.size();
72
1.04M
        for (size_t i = 0; i < size; ++i) {
73
1.04M
            c[i] = apply(a[i], b);
74
1.04M
        }
75
216
        return column_result;
76
216
    }
77
78
0
    static ColumnPtr constant_vector(Arg a, ColumnPtr column_right) {
79
0
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
80
0
        auto column_result = ColumnType::create(column_right->size());
81
0
        DCHECK(column_right_ptr != nullptr);
82
83
0
        auto& b = column_right_ptr->get_data();
84
0
        auto& c = column_result->get_data();
85
0
        size_t size = b.size();
86
0
        for (size_t i = 0; i < size; ++i) {
87
0
            c[i] = apply(a, b[i]);
88
0
        }
89
0
        return column_result;
90
0
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE3EE15constant_vectorEaNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE4EE15constant_vectorEsNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE5EE15constant_vectorEiNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE15constant_vectorElNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE15constant_vectorEnNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE15constant_vectorEfNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE15constant_vectorEdNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
91
92
5.55k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
5.55k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
5.55k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
5.55k
        auto column_result = ColumnType::create(column_left->size());
97
98
5.55k
        auto& a = column_left_ptr->get_data();
99
5.55k
        auto& b = column_right_ptr->get_data();
100
5.55k
        auto& c = column_result->get_data();
101
5.55k
        size_t size = a.size();
102
1.31M
        for (size_t i = 0; i < size; ++i) {
103
1.31M
            c[i] = apply(a[i], b[i]);
104
1.31M
        }
105
5.55k
        return column_result;
106
5.55k
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE3EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE4EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
38
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
38
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
38
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
38
        auto column_result = ColumnType::create(column_left->size());
97
98
38
        auto& a = column_left_ptr->get_data();
99
38
        auto& b = column_right_ptr->get_data();
100
38
        auto& c = column_result->get_data();
101
38
        size_t size = a.size();
102
244
        for (size_t i = 0; i < size; ++i) {
103
206
            c[i] = apply(a[i], b[i]);
104
206
        }
105
38
        return column_result;
106
38
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE5EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
64
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
64
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
64
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
64
        auto column_result = ColumnType::create(column_left->size());
97
98
64
        auto& a = column_left_ptr->get_data();
99
64
        auto& b = column_right_ptr->get_data();
100
64
        auto& c = column_result->get_data();
101
64
        size_t size = a.size();
102
345
        for (size_t i = 0; i < size; ++i) {
103
281
            c[i] = apply(a[i], b[i]);
104
281
        }
105
64
        return column_result;
106
64
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
1.80k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
1.80k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
1.80k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
1.80k
        auto column_result = ColumnType::create(column_left->size());
97
98
1.80k
        auto& a = column_left_ptr->get_data();
99
1.80k
        auto& b = column_right_ptr->get_data();
100
1.80k
        auto& c = column_result->get_data();
101
1.80k
        size_t size = a.size();
102
13.9k
        for (size_t i = 0; i < size; ++i) {
103
12.1k
            c[i] = apply(a[i], b[i]);
104
12.1k
        }
105
1.80k
        return column_result;
106
1.80k
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
151
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
151
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
151
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
151
        auto column_result = ColumnType::create(column_left->size());
97
98
151
        auto& a = column_left_ptr->get_data();
99
151
        auto& b = column_right_ptr->get_data();
100
151
        auto& c = column_result->get_data();
101
151
        size_t size = a.size();
102
1.08k
        for (size_t i = 0; i < size; ++i) {
103
931
            c[i] = apply(a[i], b[i]);
104
931
        }
105
151
        return column_result;
106
151
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
3.48k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
3.48k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
3.48k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
3.48k
        auto column_result = ColumnType::create(column_left->size());
97
98
3.48k
        auto& a = column_left_ptr->get_data();
99
3.48k
        auto& b = column_right_ptr->get_data();
100
3.48k
        auto& c = column_result->get_data();
101
3.48k
        size_t size = a.size();
102
1.30M
        for (size_t i = 0; i < size; ++i) {
103
1.29M
            c[i] = apply(a[i], b[i]);
104
1.29M
        }
105
3.48k
        return column_result;
106
3.48k
    }
107
};
108
109
template <PrimitiveType TypeA, PrimitiveType TypeB>
110
struct MultiplyDecimalImpl {
111
    static constexpr bool result_is_decimal = true;
112
    static_assert(is_decimal(TypeA) && is_decimal(TypeB));
113
    static_assert((TypeA == TYPE_DECIMALV2 && TypeB == TYPE_DECIMALV2) ||
114
                  (TypeA != TYPE_DECIMALV2 && TypeB != TYPE_DECIMALV2));
115
116
    constexpr static bool need_replace_null_data_to_default = true;
117
    using ArgA = typename PrimitiveTypeTraits<TypeA>::CppType;
118
    using ArgB = typename PrimitiveTypeTraits<TypeB>::CppType;
119
    static constexpr PrimitiveType ArgAPType = TypeA;
120
    static constexpr PrimitiveType ArgBPType = TypeB;
121
    using ArgNativeTypeA = typename PrimitiveTypeTraits<TypeA>::CppType::NativeType;
122
    using ArgNativeTypeB = typename PrimitiveTypeTraits<TypeB>::CppType::NativeType;
123
    using DataTypeA = typename PrimitiveTypeTraits<TypeA>::DataType;
124
    using DataTypeB = typename PrimitiveTypeTraits<TypeB>::DataType;
125
    using ColumnTypeA = typename PrimitiveTypeTraits<TypeA>::ColumnType;
126
    using ColumnTypeB = typename PrimitiveTypeTraits<TypeB>::ColumnType;
127
128
136
    static DataTypes get_variadic_argument_types() {
129
136
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
136
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
136
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE27get_variadic_argument_typesEv
Line
Count
Source
128
8
    static DataTypes get_variadic_argument_types() {
129
8
        return {std::make_shared<typename PrimitiveTypeTraits<TypeA>::DataType>(),
130
8
                std::make_shared<typename PrimitiveTypeTraits<TypeB>::DataType>()};
131
8
    }
132
133
    template <PrimitiveType Result>
134
        requires(is_decimal(Result) && Result != TYPE_DECIMALV2)
135
    static inline typename PrimitiveTypeTraits<Result>::CppType::NativeType apply(
136
61
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
61
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
61
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
61
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEii
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEii
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEii
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEii
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEil
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEil
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEil
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEil
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEin
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEin
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEin
Line
Count
Source
136
3
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
3
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
3
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEin
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEiN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEli
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEli
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEli
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEli
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEll
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEll
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEll
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEll
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEln
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEln
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEln
Line
Count
Source
136
5
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
5
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
5
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
5
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEln
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeElN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEni
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEni
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEni
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEni
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnl
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnl
Line
Count
Source
136
1
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
1
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
1
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
1
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnn
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnn
Line
Count
Source
136
52
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
52
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
52
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
52
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
140
141
    template <PrimitiveType Result = TYPE_DECIMALV2>
142
15
    static inline DecimalV2Value apply(const DecimalV2Value& a, const DecimalV2Value& b) {
143
15
        return a * b;
144
15
    }
145
146
    /// Apply operation and check overflow. It's used for Decimal operations. @returns true if overflowed, false otherwise.
147
    template <PrimitiveType Result>
148
        requires(is_decimal(Result))
149
    static inline bool apply(ArgNativeTypeA a, ArgNativeTypeB b,
150
5.56M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
5.56M
        return common::mul_overflow(
152
5.56M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
5.56M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
5.56M
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbiiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
20
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
20
        return common::mul_overflow(
152
20
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
20
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
20
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbiiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
68
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
68
        return common::mul_overflow(
152
68
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
68
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
68
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbiiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbiiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbilRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbilRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
2
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
2
        return common::mul_overflow(
152
2
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
2
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
2
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbilRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
11
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
11
        return common::mul_overflow(
152
11
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
11
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
11
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbilRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbinRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbinRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbinRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
34.8k
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
34.8k
        return common::mul_overflow(
152
34.8k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
34.8k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
34.8k
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbinRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
3
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
3
        return common::mul_overflow(
152
3
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
3
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbiN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbiN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbiN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbiN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbliRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbliRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
27.4k
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
27.4k
        return common::mul_overflow(
152
27.4k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
27.4k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
27.4k
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbliRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
13
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
13
        return common::mul_overflow(
152
13
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
13
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
13
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbliRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbllRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbllRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbllRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
3.14M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
3.14M
        return common::mul_overflow(
152
3.14M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
3.14M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
3.14M
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbllRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEblnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEblnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEblnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
11
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
11
        return common::mul_overflow(
152
11
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
11
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
11
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEblnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
2
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
2
        return common::mul_overflow(
152
2
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
2
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEblN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEblN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEblN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEblN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbniRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbniRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbniRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
12.6k
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
12.6k
        return common::mul_overflow(
152
12.6k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
12.6k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
12.6k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbniRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbnlRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbnlRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbnlRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
2.33M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
2.33M
        return common::mul_overflow(
152
2.33M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
2.33M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
2.33M
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbnlRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbnnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbnnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbnnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
127
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
127
        return common::mul_overflow(
152
127
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
127
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
127
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbnnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
264
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
264
        return common::mul_overflow(
152
264
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
264
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
264
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbnN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbnN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbnN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbnN4wide7integerILm256EiEERNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEiRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
7
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
7
        return common::mul_overflow(
152
7
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
7
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
7
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEElRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEElRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEElRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEElRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEEnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
53
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
53
        return common::mul_overflow(
152
53
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
53
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
53
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEES6_RNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEES6_RNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEES6_RNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbN4wide7integerILm256EiEES6_RNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
12
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
12
        return common::mul_overflow(
152
12
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
12
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
12
    }
155
156
    template <PrimitiveType ResultType>
157
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
158
    static ColumnPtr constant_constant(
159
            ArgA a, ArgB b, const DataTypeA* type_left, const DataTypeB* type_right,
160
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
161
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
162
5
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
163
5
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
164
165
5
        if (check_overflow_for_decimal) {
166
5
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
167
5
                    apply<true, true>(a, b, *type_left, *type_right, res_data_type,
168
5
                                      max_result_number, scale_diff_multiplier));
169
5
        } else {
170
0
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
171
0
                    apply<true, false>(a, b, *type_left, *type_right, res_data_type,
172
0
                                       max_result_number, scale_diff_multiplier));
173
0
        }
174
175
5
        return column_result;
176
5
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEESA_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEESA_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEESA_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEESA_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEESA_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEESA_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEESA_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEESA_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSC_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEENS9_IN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Line
Count
Source
162
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
163
2
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
164
165
2
        if (check_overflow_for_decimal) {
166
2
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
167
2
                    apply<true, true>(a, b, *type_left, *type_right, res_data_type,
168
2
                                      max_result_number, scale_diff_multiplier));
169
2
        } else {
170
0
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
171
0
                    apply<true, false>(a, b, *type_left, *type_right, res_data_type,
172
0
                                       max_result_number, scale_diff_multiplier));
173
0
        }
174
175
2
        return column_result;
176
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSC_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESN_RKNSC_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES9_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES9_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES9_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Line
Count
Source
162
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
163
2
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
164
165
2
        if (check_overflow_for_decimal) {
166
2
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
167
2
                    apply<true, true>(a, b, *type_left, *type_right, res_data_type,
168
2
                                      max_result_number, scale_diff_multiplier));
169
2
        } else {
170
0
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
171
0
                    apply<true, false>(a, b, *type_left, *type_right, res_data_type,
172
0
                                       max_result_number, scale_diff_multiplier));
173
0
        }
174
175
2
        return column_result;
176
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES9_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ENS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSF_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS9_IlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEENS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSF_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESQ_RKNSF_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE17constant_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEESD_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE17constant_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEESD_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE17constant_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEESD_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE17constant_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEESD_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Line
Count
Source
162
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
163
1
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
164
165
1
        if (check_overflow_for_decimal) {
166
1
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
167
1
                    apply<true, true>(a, b, *type_left, *type_right, res_data_type,
168
1
                                      max_result_number, scale_diff_multiplier));
169
1
        } else {
170
0
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
171
0
                    apply<true, false>(a, b, *type_left, *type_right, res_data_type,
172
0
                                       max_result_number, scale_diff_multiplier));
173
0
        }
174
175
1
        return column_result;
176
1
    }
177
178
    template <PrimitiveType ResultType>
179
        requires(ResultType == TYPE_DECIMALV2)
180
    static ColumnPtr constant_constant(
181
            ArgA a, ArgB b, const DataTypeA* type_left, const DataTypeB* type_right,
182
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
183
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
184
13
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
185
13
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
186
187
13
        if (check_overflow_for_decimal) {
188
13
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
189
13
                    apply<true, true>(a.value(), b.value(), *type_left, *type_right, res_data_type,
190
13
                                      max_result_number, scale_diff_multiplier));
191
13
        } else {
192
0
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
193
0
                    apply<true, false>(a.value(), b.value(), *type_left, *type_right, res_data_type,
194
0
                                       max_result_number, scale_diff_multiplier));
195
0
        }
196
197
13
        return column_result;
198
13
    }
199
200
    template <PrimitiveType ResultType>
201
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
202
    static ColumnPtr vector_constant(
203
            ColumnPtr column_left, ArgB b, const DataTypeA* type_left, const DataTypeB* type_right,
204
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
205
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
206
563
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
563
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
563
        auto column_result =
209
563
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
563
        DCHECK(column_left_ptr != nullptr);
211
212
563
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
563
        const auto& a = column_left_ptr->get_data();
214
563
        auto& c = column_result->get_data();
215
563
        std::visit(
216
563
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
40.3k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
39.7k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
39.7k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
39.7k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
39.7k
                                        max_result_number, scale_diff_multiplier));
222
39.7k
                    }
223
563
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Line
Count
Source
216
12
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
30
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
18
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
18
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
18
                                        a[i], b, *type_left, *type_right, res_data_type,
221
18
                                        max_result_number, scale_diff_multiplier));
222
18
                    }
223
12
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Line
Count
Source
216
22
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
52
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
30
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
30
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
30
                                        a[i], b, *type_left, *type_right, res_data_type,
221
30
                                        max_result_number, scale_diff_multiplier));
222
30
                    }
223
22
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
216
66
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
27.3k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
27.3k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
27.3k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
27.3k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
27.3k
                                        max_result_number, scale_diff_multiplier));
222
27.3k
                    }
223
66
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Line
Count
Source
216
2
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
4
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
2
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
2
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
2
                                        a[i], b, *type_left, *type_right, res_data_type,
221
2
                                        max_result_number, scale_diff_multiplier));
222
2
                    }
223
2
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
216
456
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
12.8k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
12.3k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
12.3k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
12.3k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
12.3k
                                        max_result_number, scale_diff_multiplier));
222
12.3k
                    }
223
456
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Line
Count
Source
216
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
1
                                        a[i], b, *type_left, *type_right, res_data_type,
221
1
                                        max_result_number, scale_diff_multiplier));
222
1
                    }
223
1
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
216
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
1
                                        a[i], b, *type_left, *type_right, res_data_type,
221
1
                                        max_result_number, scale_diff_multiplier));
222
1
                    }
223
1
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Line
Count
Source
216
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
1
                                        a[i], b, *type_left, *type_right, res_data_type,
221
1
                                        max_result_number, scale_diff_multiplier));
222
1
                    }
223
1
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Line
Count
Source
216
2
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
5
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
3
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
3
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
3
                                        a[i], b, *type_left, *type_right, res_data_type,
221
3
                                        max_result_number, scale_diff_multiplier));
222
3
                    }
223
2
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
224
563
                make_bool_variant(need_adjust_scale),
225
563
                make_bool_variant(check_overflow_for_decimal));
226
227
563
        return column_result;
228
563
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Line
Count
Source
206
12
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
12
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
12
        auto column_result =
209
12
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
12
        DCHECK(column_left_ptr != nullptr);
211
212
12
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
12
        const auto& a = column_left_ptr->get_data();
214
12
        auto& c = column_result->get_data();
215
12
        std::visit(
216
12
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
12
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
12
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
12
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
12
                                        a[i], b, *type_left, *type_right, res_data_type,
221
12
                                        max_result_number, scale_diff_multiplier));
222
12
                    }
223
12
                },
224
12
                make_bool_variant(need_adjust_scale),
225
12
                make_bool_variant(check_overflow_for_decimal));
226
227
12
        return column_result;
228
12
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Line
Count
Source
206
22
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
22
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
22
        auto column_result =
209
22
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
22
        DCHECK(column_left_ptr != nullptr);
211
212
22
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
22
        const auto& a = column_left_ptr->get_data();
214
22
        auto& c = column_result->get_data();
215
22
        std::visit(
216
22
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
22
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
22
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
22
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
22
                                        a[i], b, *type_left, *type_right, res_data_type,
221
22
                                        max_result_number, scale_diff_multiplier));
222
22
                    }
223
22
                },
224
22
                make_bool_variant(need_adjust_scale),
225
22
                make_bool_variant(check_overflow_for_decimal));
226
227
22
        return column_result;
228
22
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
206
66
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
66
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
66
        auto column_result =
209
66
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
66
        DCHECK(column_left_ptr != nullptr);
211
212
66
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
66
        const auto& a = column_left_ptr->get_data();
214
66
        auto& c = column_result->get_data();
215
66
        std::visit(
216
66
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
66
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
66
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
66
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
66
                                        a[i], b, *type_left, *type_right, res_data_type,
221
66
                                        max_result_number, scale_diff_multiplier));
222
66
                    }
223
66
                },
224
66
                make_bool_variant(need_adjust_scale),
225
66
                make_bool_variant(check_overflow_for_decimal));
226
227
66
        return column_result;
228
66
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Line
Count
Source
206
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
2
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
2
        auto column_result =
209
2
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
2
        DCHECK(column_left_ptr != nullptr);
211
212
2
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
2
        const auto& a = column_left_ptr->get_data();
214
2
        auto& c = column_result->get_data();
215
2
        std::visit(
216
2
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
2
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
2
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
2
                                        a[i], b, *type_left, *type_right, res_data_type,
221
2
                                        max_result_number, scale_diff_multiplier));
222
2
                    }
223
2
                },
224
2
                make_bool_variant(need_adjust_scale),
225
2
                make_bool_variant(check_overflow_for_decimal));
226
227
2
        return column_result;
228
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_29EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_29EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
206
457
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
457
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
457
        auto column_result =
209
457
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
457
        DCHECK(column_left_ptr != nullptr);
211
212
457
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
457
        const auto& a = column_left_ptr->get_data();
214
457
        auto& c = column_result->get_data();
215
457
        std::visit(
216
457
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
457
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
457
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
457
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
457
                                        a[i], b, *type_left, *type_right, res_data_type,
221
457
                                        max_result_number, scale_diff_multiplier));
222
457
                    }
223
457
                },
224
457
                make_bool_variant(need_adjust_scale),
225
457
                make_bool_variant(check_overflow_for_decimal));
226
227
457
        return column_result;
228
457
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
206
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
2
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
2
        auto column_result =
209
2
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
2
        DCHECK(column_left_ptr != nullptr);
211
212
2
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
2
        const auto& a = column_left_ptr->get_data();
214
2
        auto& c = column_result->get_data();
215
2
        std::visit(
216
2
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
2
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
2
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
2
                                        a[i], b, *type_left, *type_right, res_data_type,
221
2
                                        max_result_number, scale_diff_multiplier));
222
2
                    }
223
2
                },
224
2
                make_bool_variant(need_adjust_scale),
225
2
                make_bool_variant(check_overflow_for_decimal));
226
227
2
        return column_result;
228
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_30EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_30EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
206
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
2
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
2
        auto column_result =
209
2
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
2
        DCHECK(column_left_ptr != nullptr);
211
212
2
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
2
        const auto& a = column_left_ptr->get_data();
214
2
        auto& c = column_result->get_data();
215
2
        std::visit(
216
2
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
2
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
2
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
2
                                        a[i], b, *type_left, *type_right, res_data_type,
221
2
                                        max_result_number, scale_diff_multiplier));
222
2
                    }
223
2
                },
224
2
                make_bool_variant(need_adjust_scale),
225
2
                make_bool_variant(check_overflow_for_decimal));
226
227
2
        return column_result;
228
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_35EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_35EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
229
230
    template <PrimitiveType ResultType>
231
        requires(ResultType == TYPE_DECIMALV2)
232
    static ColumnPtr vector_constant(
233
            ColumnPtr column_left, ArgB b, const DataTypeA* type_left, const DataTypeB* type_right,
234
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
235
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
236
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
237
1
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
238
1
        auto column_result =
239
1
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
240
1
        DCHECK(column_left_ptr != nullptr);
241
242
1
        bool need_adjust_scale = scale_diff_multiplier.value() > 1;
243
1
        const auto& a = column_left_ptr->get_data();
244
1
        auto& c = column_result->get_data();
245
1
        std::visit(
246
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
247
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
248
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
249
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
250
1
                                        a[i].value(), b.value(), *type_left, *type_right,
251
1
                                        res_data_type, max_result_number, scale_diff_multiplier));
252
1
                    }
253
1
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15vector_constantILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_14DecimalV2ValueEPKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15vector_constantILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_14DecimalV2ValueEPKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15vector_constantILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_14DecimalV2ValueEPKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15vector_constantILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_14DecimalV2ValueEPKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Line
Count
Source
246
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
247
2
                    for (size_t i = 0; i < column_left->size(); ++i) {
248
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
249
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
250
1
                                        a[i].value(), b.value(), *type_left, *type_right,
251
1
                                        res_data_type, max_result_number, scale_diff_multiplier));
252
1
                    }
253
1
                },
254
1
                make_bool_variant(need_adjust_scale),
255
1
                make_bool_variant(check_overflow_for_decimal));
256
257
1
        return column_result;
258
1
    }
259
260
    template <PrimitiveType ResultType>
261
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
262
    static ColumnPtr constant_vector(
263
            ArgA a, ColumnPtr column_right, const DataTypeA* type_left, const DataTypeB* type_right,
264
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
265
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
266
175
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
175
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
175
        auto column_result =
269
175
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
175
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
175
        auto& b = column_right_ptr->get_data();
273
175
        auto& c = column_result->get_data();
274
175
        std::visit(
275
175
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
35.9k
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
35.7k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
35.7k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
35.7k
                                        a, b[i], *type_left, *type_right, res_data_type,
280
35.7k
                                        max_result_number, scale_diff_multiplier));
281
35.7k
                    }
282
175
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
275
5
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
10
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
5
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
5
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
5
                                        a, b[i], *type_left, *type_right, res_data_type,
280
5
                                        max_result_number, scale_diff_multiplier));
281
5
                    }
282
5
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
275
162
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
35.8k
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
35.7k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
35.7k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
35.7k
                                        a, b[i], *type_left, *type_right, res_data_type,
280
35.7k
                                        max_result_number, scale_diff_multiplier));
281
35.7k
                    }
282
162
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
275
4
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
10
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
6
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
6
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
6
                                        a, b[i], *type_left, *type_right, res_data_type,
280
6
                                        max_result_number, scale_diff_multiplier));
281
6
                    }
282
4
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Line
Count
Source
275
3
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
6
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
3
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
3
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
3
                                        a, b[i], *type_left, *type_right, res_data_type,
280
3
                                        max_result_number, scale_diff_multiplier));
281
3
                    }
282
3
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
275
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
2
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
1
                                        a, b[i], *type_left, *type_right, res_data_type,
280
1
                                        max_result_number, scale_diff_multiplier));
281
1
                    }
282
1
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
283
175
                make_bool_variant(need_adjust_scale),
284
175
                make_bool_variant(check_overflow_for_decimal));
285
175
        return column_result;
286
175
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
266
5
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
5
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
5
        auto column_result =
269
5
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
5
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
5
        auto& b = column_right_ptr->get_data();
273
5
        auto& c = column_result->get_data();
274
5
        std::visit(
275
5
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
5
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
5
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
5
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
5
                                        a, b[i], *type_left, *type_right, res_data_type,
280
5
                                        max_result_number, scale_diff_multiplier));
281
5
                    }
282
5
                },
283
5
                make_bool_variant(need_adjust_scale),
284
5
                make_bool_variant(check_overflow_for_decimal));
285
5
        return column_result;
286
5
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
266
162
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
162
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
162
        auto column_result =
269
162
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
162
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
162
        auto& b = column_right_ptr->get_data();
273
162
        auto& c = column_result->get_data();
274
162
        std::visit(
275
162
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
162
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
162
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
162
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
162
                                        a, b[i], *type_left, *type_right, res_data_type,
280
162
                                        max_result_number, scale_diff_multiplier));
281
162
                    }
282
162
                },
283
162
                make_bool_variant(need_adjust_scale),
284
162
                make_bool_variant(check_overflow_for_decimal));
285
162
        return column_result;
286
162
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
266
4
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
4
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
4
        auto column_result =
269
4
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
4
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
4
        auto& b = column_right_ptr->get_data();
273
4
        auto& c = column_result->get_data();
274
4
        std::visit(
275
4
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
4
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
4
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
4
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
4
                                        a, b[i], *type_left, *type_right, res_data_type,
280
4
                                        max_result_number, scale_diff_multiplier));
281
4
                    }
282
4
                },
283
4
                make_bool_variant(need_adjust_scale),
284
4
                make_bool_variant(check_overflow_for_decimal));
285
4
        return column_result;
286
4
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Line
Count
Source
266
3
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
3
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
3
        auto column_result =
269
3
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
3
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
3
        auto& b = column_right_ptr->get_data();
273
3
        auto& c = column_result->get_data();
274
3
        std::visit(
275
3
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
3
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
3
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
3
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
3
                                        a, b[i], *type_left, *type_right, res_data_type,
280
3
                                        max_result_number, scale_diff_multiplier));
281
3
                    }
282
3
                },
283
3
                make_bool_variant(need_adjust_scale),
284
3
                make_bool_variant(check_overflow_for_decimal));
285
3
        return column_result;
286
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
266
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
1
        auto column_result =
269
1
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
1
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
1
        auto& b = column_right_ptr->get_data();
273
1
        auto& c = column_result->get_data();
274
1
        std::visit(
275
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
1
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
1
                                        a, b[i], *type_left, *type_right, res_data_type,
280
1
                                        max_result_number, scale_diff_multiplier));
281
1
                    }
282
1
                },
283
1
                make_bool_variant(need_adjust_scale),
284
1
                make_bool_variant(check_overflow_for_decimal));
285
1
        return column_result;
286
1
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
287
288
    template <PrimitiveType ResultType>
289
        requires(ResultType == TYPE_DECIMALV2)
290
    static ColumnPtr constant_vector(
291
            ArgA a, ColumnPtr column_right, const DataTypeA* type_left, const DataTypeB* type_right,
292
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
293
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
294
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
295
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
296
1
        auto column_result =
297
1
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
298
299
1
        bool need_adjust_scale = scale_diff_multiplier.value() > 1;
300
1
        auto& b = column_right_ptr->get_data();
301
1
        auto& c = column_result->get_data();
302
1
        std::visit(
303
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
304
2
                    for (size_t i = 0; i < column_right->size(); ++i) {
305
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
306
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
307
1
                                        a.value(), b[i].value(), *type_left, *type_right,
308
1
                                        res_data_type, max_result_number, scale_diff_multiplier));
309
1
                    }
310
1
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Line
Count
Source
303
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
304
2
                    for (size_t i = 0; i < column_right->size(); ++i) {
305
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
306
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
307
1
                                        a.value(), b[i].value(), *type_left, *type_right,
308
1
                                        res_data_type, max_result_number, scale_diff_multiplier));
309
1
                    }
310
1
                },
311
1
                make_bool_variant(need_adjust_scale),
312
1
                make_bool_variant(check_overflow_for_decimal));
313
1
        return column_result;
314
1
    }
315
316
    /*
317
    select 999999999999999999999999999 * 999999999999999999999999999;
318
    999999999999999999999999998000000000.000000000000000001 54 digits
319
    */
320
    template <bool check_overflow>
321
    NO_SANITIZE_UNDEFINED static void vector_vector(
322
            const ColumnDecimal128V2::Container::value_type* __restrict a,
323
            const ColumnDecimal128V2::Container::value_type* __restrict b,
324
154
            ColumnDecimal128V2::Container::value_type* c, size_t size) {
325
154
        auto sng_uptr = std::unique_ptr<int8_t[]>(new int8_t[size]);
326
154
        int8_t* sgn = sng_uptr.get();
327
154
        auto max = DecimalV2Value::get_max_decimal();
328
154
        auto min = DecimalV2Value::get_min_decimal();
329
330
1.08k
        for (int i = 0; i < size; i++) {
331
933
            sgn[i] = ((DecimalV2Value(a[i]).value() > 0) && (DecimalV2Value(b[i]).value() > 0)) ||
332
933
                                     ((DecimalV2Value(a[i]).value() < 0) &&
333
219
                                      (DecimalV2Value(b[i]).value() < 0))
334
933
                             ? 1
335
933
                     : ((DecimalV2Value(a[i]).value() == 0) || (DecimalV2Value(b[i]).value() == 0))
336
219
                             ? 0
337
219
                             : -1;
338
933
        }
339
340
1.08k
        for (int i = 0; i < size; i++) {
341
933
            if constexpr (check_overflow) {
342
933
                int128_t i128_mul_result;
343
933
                if (common::mul_overflow(DecimalV2Value(a[i]).value(), DecimalV2Value(b[i]).value(),
344
933
                                         i128_mul_result)) {
345
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
346
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
347
0
                                    DecimalV2Value(a[i]).to_string(), "multiply",
348
0
                                    DecimalV2Value(b[i]).to_string(),
349
0
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
350
0
                }
351
933
                c[i] = DecimalV2Value((i128_mul_result - sgn[i]) / DecimalV2Value::ONE_BILLION +
352
933
                                      sgn[i]);
353
933
                if (c[i].value() > max.value() || c[i].value() < min.value()) {
354
1
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
355
1
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
356
1
                                    DecimalV2Value(a[i]).to_string(), "multiply",
357
1
                                    DecimalV2Value(b[i]).to_string(),
358
1
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
359
1
                }
360
933
            } else {
361
0
                c[i] = DecimalV2Value(
362
0
                        (DecimalV2Value(a[i]).value() * DecimalV2Value(b[i]).value() - sgn[i]) /
363
0
                                DecimalV2Value::ONE_BILLION +
364
0
                        sgn[i]);
365
0
            }
366
933
        }
367
154
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE13vector_vectorILb1EEEvPKNS_14DecimalV2ValueES6_PS4_m
Line
Count
Source
324
154
            ColumnDecimal128V2::Container::value_type* c, size_t size) {
325
154
        auto sng_uptr = std::unique_ptr<int8_t[]>(new int8_t[size]);
326
154
        int8_t* sgn = sng_uptr.get();
327
154
        auto max = DecimalV2Value::get_max_decimal();
328
154
        auto min = DecimalV2Value::get_min_decimal();
329
330
1.08k
        for (int i = 0; i < size; i++) {
331
933
            sgn[i] = ((DecimalV2Value(a[i]).value() > 0) && (DecimalV2Value(b[i]).value() > 0)) ||
332
933
                                     ((DecimalV2Value(a[i]).value() < 0) &&
333
219
                                      (DecimalV2Value(b[i]).value() < 0))
334
933
                             ? 1
335
933
                     : ((DecimalV2Value(a[i]).value() == 0) || (DecimalV2Value(b[i]).value() == 0))
336
219
                             ? 0
337
219
                             : -1;
338
933
        }
339
340
1.08k
        for (int i = 0; i < size; i++) {
341
933
            if constexpr (check_overflow) {
342
933
                int128_t i128_mul_result;
343
933
                if (common::mul_overflow(DecimalV2Value(a[i]).value(), DecimalV2Value(b[i]).value(),
344
933
                                         i128_mul_result)) {
345
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
346
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
347
0
                                    DecimalV2Value(a[i]).to_string(), "multiply",
348
0
                                    DecimalV2Value(b[i]).to_string(),
349
0
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
350
0
                }
351
933
                c[i] = DecimalV2Value((i128_mul_result - sgn[i]) / DecimalV2Value::ONE_BILLION +
352
933
                                      sgn[i]);
353
933
                if (c[i].value() > max.value() || c[i].value() < min.value()) {
354
1
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
355
1
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
356
1
                                    DecimalV2Value(a[i]).to_string(), "multiply",
357
1
                                    DecimalV2Value(b[i]).to_string(),
358
1
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
359
1
                }
360
            } else {
361
                c[i] = DecimalV2Value(
362
                        (DecimalV2Value(a[i]).value() * DecimalV2Value(b[i]).value() - sgn[i]) /
363
                                DecimalV2Value::ONE_BILLION +
364
                        sgn[i]);
365
            }
366
933
        }
367
154
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE13vector_vectorILb0EEEvPKNS_14DecimalV2ValueES6_PS4_m
368
369
    template <typename T>
370
0
    static int8_t sgn(const T& x) {
371
0
        return (x > 0) ? 1 : ((x < 0) ? -1 : 0);
372
0
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
373
374
    template <PrimitiveType ResultType>
375
        requires(is_decimal(ResultType))
376
    static ColumnPtr vector_vector(
377
            ColumnPtr column_left, ColumnPtr column_right, const DataTypeA* type_left,
378
            const DataTypeB* type_right,
379
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
380
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
381
3.86k
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
3.86k
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
3.86k
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
3.86k
        auto column_result =
386
3.86k
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
3.86k
        auto sz = column_left->size();
388
3.86k
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
154
            if (check_overflow_for_decimal) {
390
154
                vector_vector<true>(column_left_ptr->get_data().data(),
391
154
                                    column_right_ptr->get_data().data(),
392
154
                                    column_result->get_data().data(), sz);
393
154
            } else {
394
0
                vector_vector<false>(column_left_ptr->get_data().data(),
395
0
                                     column_right_ptr->get_data().data(),
396
0
                                     column_result->get_data().data(), sz);
397
0
            }
398
3.70k
        } else {
399
3.70k
            const auto& a = column_left_ptr->get_data().data();
400
3.70k
            const auto& b = column_right_ptr->get_data().data();
401
3.70k
            const auto& c = column_result->get_data().data();
402
3.70k
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
3.70k
            std::visit(
404
3.72k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
5.50M
                        for (size_t i = 0; i < sz; i++) {
406
5.49M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
5.49M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
5.49M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
5.49M
                                            max_result_number, scale_diff_multiplier));
410
5.49M
                        }
411
3.72k
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
26
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
64
                        for (size_t i = 0; i < sz; i++) {
406
38
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
38
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
38
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
38
                                            max_result_number, scale_diff_multiplier));
410
38
                        }
411
26
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
10
                        for (size_t i = 0; i < sz; i++) {
406
6
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
6
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
6
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
6
                                            max_result_number, scale_diff_multiplier));
410
6
                        }
411
4
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
41
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
287
                        for (size_t i = 0; i < sz; i++) {
406
246
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
246
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
246
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
246
                                            max_result_number, scale_diff_multiplier));
410
246
                        }
411
41
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Line
Count
Source
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
8
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
4
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
3
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
6
                        for (size_t i = 0; i < sz; i++) {
406
3
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
3
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
3
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
3
                                            max_result_number, scale_diff_multiplier));
410
3
                        }
411
3
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
1
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
6
                        for (size_t i = 0; i < sz; i++) {
406
5
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
5
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
5
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
5
                                            max_result_number, scale_diff_multiplier));
410
5
                        }
411
1
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
5
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
12
                        for (size_t i = 0; i < sz; i++) {
406
7
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
7
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
7
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
7
                                            max_result_number, scale_diff_multiplier));
410
7
                        }
411
5
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
2.88k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
3.15M
                        for (size_t i = 0; i < sz; i++) {
406
3.15M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
3.15M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
3.15M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
3.15M
                                            max_result_number, scale_diff_multiplier));
410
3.15M
                        }
411
2.88k
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Line
Count
Source
404
8
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
18
                        for (size_t i = 0; i < sz; i++) {
406
10
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
10
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
10
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
10
                                            max_result_number, scale_diff_multiplier));
410
10
                        }
411
8
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
56
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
362
                        for (size_t i = 0; i < sz; i++) {
406
306
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
306
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
306
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
306
                                            max_result_number, scale_diff_multiplier));
410
306
                        }
411
56
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
467
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2.34M
                        for (size_t i = 0; i < sz; i++) {
406
2.34M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2.34M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2.34M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2.34M
                                            max_result_number, scale_diff_multiplier));
410
2.34M
                        }
411
467
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
6
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
9
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
22
                        for (size_t i = 0; i < sz; i++) {
406
13
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
13
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
13
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
13
                                            max_result_number, scale_diff_multiplier));
410
13
                        }
411
9
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Line
Count
Source
404
85
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
197
                        for (size_t i = 0; i < sz; i++) {
406
112
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
112
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
112
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
112
                                            max_result_number, scale_diff_multiplier));
410
112
                        }
411
85
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
66
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
330
                        for (size_t i = 0; i < sz; i++) {
406
264
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
264
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
264
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
264
                                            max_result_number, scale_diff_multiplier));
410
264
                        }
411
66
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
8
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
4
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Line
Count
Source
404
41
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
92
                        for (size_t i = 0; i < sz; i++) {
406
51
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
51
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
51
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
51
                                            max_result_number, scale_diff_multiplier));
410
51
                        }
411
41
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
8
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
4
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Line
Count
Source
404
7
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
14
                        for (size_t i = 0; i < sz; i++) {
406
7
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
7
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
7
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
7
                                            max_result_number, scale_diff_multiplier));
410
7
                        }
411
7
                    },
412
3.70k
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
3.70k
                    make_bool_variant(check_overflow_for_decimal));
414
415
3.70k
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
3.70k
        }
426
427
3.86k
        return column_result;
428
3.86k
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE13vector_vectorILS1_20EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_20EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
154
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
154
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
154
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
154
        auto column_result =
386
154
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
154
        auto sz = column_left->size();
388
154
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
154
            if (check_overflow_for_decimal) {
390
154
                vector_vector<true>(column_left_ptr->get_data().data(),
391
154
                                    column_right_ptr->get_data().data(),
392
154
                                    column_result->get_data().data(), sz);
393
154
            } else {
394
0
                vector_vector<false>(column_left_ptr->get_data().data(),
395
0
                                     column_right_ptr->get_data().data(),
396
0
                                     column_result->get_data().data(), sz);
397
0
            }
398
        } else {
399
            const auto& a = column_left_ptr->get_data().data();
400
            const auto& b = column_right_ptr->get_data().data();
401
            const auto& c = column_result->get_data().data();
402
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
            std::visit(
404
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
                        for (size_t i = 0; i < sz; i++) {
406
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
                                            max_result_number, scale_diff_multiplier));
410
                        }
411
                    },
412
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
                    make_bool_variant(check_overflow_for_decimal));
414
415
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
                int8_t* sig = sig_uptr.get();
418
                for (size_t i = 0; i < sz; i++) {
419
                    sig[i] = sgn(c[i].value);
420
                }
421
                for (size_t i = 0; i < sz; i++) {
422
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
                }
424
            }
425
        }
426
427
154
        return column_result;
428
154
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
2
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
2
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
2
        auto column_result =
386
2
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
2
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
2
        } else {
399
2
            const auto& a = column_left_ptr->get_data().data();
400
2
            const auto& b = column_right_ptr->get_data().data();
401
2
            const auto& c = column_result->get_data().data();
402
2
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
2
            std::visit(
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
412
2
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
2
                    make_bool_variant(check_overflow_for_decimal));
414
415
2
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
2
        }
426
427
2
        return column_result;
428
2
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
26
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
26
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
26
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
26
        auto column_result =
386
26
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
26
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
26
        } else {
399
26
            const auto& a = column_left_ptr->get_data().data();
400
26
            const auto& b = column_right_ptr->get_data().data();
401
26
            const auto& c = column_result->get_data().data();
402
26
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
26
            std::visit(
404
26
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
26
                        for (size_t i = 0; i < sz; i++) {
406
26
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
26
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
26
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
26
                                            max_result_number, scale_diff_multiplier));
410
26
                        }
411
26
                    },
412
26
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
26
                    make_bool_variant(check_overflow_for_decimal));
414
415
26
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
26
        }
426
427
26
        return column_result;
428
26
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
2
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
2
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
2
        auto column_result =
386
2
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
2
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
2
        } else {
399
2
            const auto& a = column_left_ptr->get_data().data();
400
2
            const auto& b = column_right_ptr->get_data().data();
401
2
            const auto& c = column_result->get_data().data();
402
2
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
2
            std::visit(
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
412
2
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
2
                    make_bool_variant(check_overflow_for_decimal));
414
415
2
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
2
        }
426
427
2
        return column_result;
428
2
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
4
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
4
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
4
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
4
        auto column_result =
386
4
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
4
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
4
        } else {
399
4
            const auto& a = column_left_ptr->get_data().data();
400
4
            const auto& b = column_right_ptr->get_data().data();
401
4
            const auto& c = column_result->get_data().data();
402
4
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
4
            std::visit(
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
4
                    },
412
4
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
4
                    make_bool_variant(check_overflow_for_decimal));
414
415
4
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
4
        }
426
427
4
        return column_result;
428
4
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
45
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
45
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
45
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
45
        auto column_result =
386
45
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
45
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
45
        } else {
399
45
            const auto& a = column_left_ptr->get_data().data();
400
45
            const auto& b = column_right_ptr->get_data().data();
401
45
            const auto& c = column_result->get_data().data();
402
45
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
45
            std::visit(
404
45
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
45
                        for (size_t i = 0; i < sz; i++) {
406
45
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
45
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
45
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
45
                                            max_result_number, scale_diff_multiplier));
410
45
                        }
411
45
                    },
412
45
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
45
                    make_bool_variant(check_overflow_for_decimal));
414
415
45
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
45
        }
426
427
45
        return column_result;
428
45
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
3
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
3
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
3
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
3
        auto column_result =
386
3
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
3
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
3
        } else {
399
3
            const auto& a = column_left_ptr->get_data().data();
400
3
            const auto& b = column_right_ptr->get_data().data();
401
3
            const auto& c = column_result->get_data().data();
402
3
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
3
            std::visit(
404
3
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
3
                        for (size_t i = 0; i < sz; i++) {
406
3
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
3
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
3
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
3
                                            max_result_number, scale_diff_multiplier));
410
3
                        }
411
3
                    },
412
3
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
3
                    make_bool_variant(check_overflow_for_decimal));
414
415
3
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
3
        }
426
427
3
        return column_result;
428
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
1
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
1
        auto column_result =
386
1
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
1
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
1
        } else {
399
1
            const auto& a = column_left_ptr->get_data().data();
400
1
            const auto& b = column_right_ptr->get_data().data();
401
1
            const auto& c = column_result->get_data().data();
402
1
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
1
            std::visit(
404
1
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
1
                        for (size_t i = 0; i < sz; i++) {
406
1
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
1
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
1
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
1
                                            max_result_number, scale_diff_multiplier));
410
1
                        }
411
1
                    },
412
1
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
1
                    make_bool_variant(check_overflow_for_decimal));
414
415
1
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
1
        }
426
427
1
        return column_result;
428
1
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
5
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
5
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
5
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
5
        auto column_result =
386
5
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
5
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
5
        } else {
399
5
            const auto& a = column_left_ptr->get_data().data();
400
5
            const auto& b = column_right_ptr->get_data().data();
401
5
            const auto& c = column_result->get_data().data();
402
5
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
5
            std::visit(
404
5
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
5
                        for (size_t i = 0; i < sz; i++) {
406
5
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
5
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
5
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
5
                                            max_result_number, scale_diff_multiplier));
410
5
                        }
411
5
                    },
412
5
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
5
                    make_bool_variant(check_overflow_for_decimal));
414
415
5
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
5
        }
426
427
5
        return column_result;
428
5
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
2.86k
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
2.86k
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
2.86k
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
2.86k
        auto column_result =
386
2.86k
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
2.86k
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
2.86k
        } else {
399
2.86k
            const auto& a = column_left_ptr->get_data().data();
400
2.86k
            const auto& b = column_right_ptr->get_data().data();
401
2.86k
            const auto& c = column_result->get_data().data();
402
2.86k
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
2.86k
            std::visit(
404
2.86k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2.86k
                        for (size_t i = 0; i < sz; i++) {
406
2.86k
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2.86k
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2.86k
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2.86k
                                            max_result_number, scale_diff_multiplier));
410
2.86k
                        }
411
2.86k
                    },
412
2.86k
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
2.86k
                    make_bool_variant(check_overflow_for_decimal));
414
415
2.86k
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
2.86k
        }
426
427
2.86k
        return column_result;
428
2.86k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
8
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
8
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
8
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
8
        auto column_result =
386
8
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
8
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
8
        } else {
399
8
            const auto& a = column_left_ptr->get_data().data();
400
8
            const auto& b = column_right_ptr->get_data().data();
401
8
            const auto& c = column_result->get_data().data();
402
8
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
8
            std::visit(
404
8
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
8
                        for (size_t i = 0; i < sz; i++) {
406
8
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
8
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
8
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
8
                                            max_result_number, scale_diff_multiplier));
410
8
                        }
411
8
                    },
412
8
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
8
                    make_bool_variant(check_overflow_for_decimal));
414
415
8
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
8
        }
426
427
8
        return column_result;
428
8
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
2
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
2
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
2
        auto column_result =
386
2
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
2
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
2
        } else {
399
2
            const auto& a = column_left_ptr->get_data().data();
400
2
            const auto& b = column_right_ptr->get_data().data();
401
2
            const auto& c = column_result->get_data().data();
402
2
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
2
            std::visit(
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
412
2
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
2
                    make_bool_variant(check_overflow_for_decimal));
414
415
2
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
2
        }
426
427
2
        return column_result;
428
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
56
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
56
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
56
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
56
        auto column_result =
386
56
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
56
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
56
        } else {
399
56
            const auto& a = column_left_ptr->get_data().data();
400
56
            const auto& b = column_right_ptr->get_data().data();
401
56
            const auto& c = column_result->get_data().data();
402
56
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
56
            std::visit(
404
56
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
56
                        for (size_t i = 0; i < sz; i++) {
406
56
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
56
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
56
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
56
                                            max_result_number, scale_diff_multiplier));
410
56
                        }
411
56
                    },
412
56
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
56
                    make_bool_variant(check_overflow_for_decimal));
414
415
56
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
56
        }
426
427
56
        return column_result;
428
56
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
469
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
469
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
469
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
469
        auto column_result =
386
469
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
469
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
469
        } else {
399
469
            const auto& a = column_left_ptr->get_data().data();
400
469
            const auto& b = column_right_ptr->get_data().data();
401
469
            const auto& c = column_result->get_data().data();
402
469
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
469
            std::visit(
404
469
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
469
                        for (size_t i = 0; i < sz; i++) {
406
469
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
469
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
469
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
469
                                            max_result_number, scale_diff_multiplier));
410
469
                        }
411
469
                    },
412
469
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
469
                    make_bool_variant(check_overflow_for_decimal));
414
415
469
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
469
        }
426
427
469
        return column_result;
428
469
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
93
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
93
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
93
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
93
        auto column_result =
386
93
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
93
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
93
        } else {
399
93
            const auto& a = column_left_ptr->get_data().data();
400
93
            const auto& b = column_right_ptr->get_data().data();
401
93
            const auto& c = column_result->get_data().data();
402
93
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
93
            std::visit(
404
93
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
93
                        for (size_t i = 0; i < sz; i++) {
406
93
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
93
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
93
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
93
                                            max_result_number, scale_diff_multiplier));
410
93
                        }
411
93
                    },
412
93
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
93
                    make_bool_variant(check_overflow_for_decimal));
414
415
93
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
93
        }
426
427
93
        return column_result;
428
93
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
66
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
66
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
66
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
66
        auto column_result =
386
66
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
66
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
66
        } else {
399
66
            const auto& a = column_left_ptr->get_data().data();
400
66
            const auto& b = column_right_ptr->get_data().data();
401
66
            const auto& c = column_result->get_data().data();
402
66
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
66
            std::visit(
404
66
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
66
                        for (size_t i = 0; i < sz; i++) {
406
66
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
66
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
66
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
66
                                            max_result_number, scale_diff_multiplier));
410
66
                        }
411
66
                    },
412
66
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
66
                    make_bool_variant(check_overflow_for_decimal));
414
415
66
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
66
        }
426
427
66
        return column_result;
428
66
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
4
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
4
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
4
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
4
        auto column_result =
386
4
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
4
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
4
        } else {
399
4
            const auto& a = column_left_ptr->get_data().data();
400
4
            const auto& b = column_right_ptr->get_data().data();
401
4
            const auto& c = column_result->get_data().data();
402
4
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
4
            std::visit(
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
4
                    },
412
4
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
4
                    make_bool_variant(check_overflow_for_decimal));
414
415
4
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
4
        }
426
427
4
        return column_result;
428
4
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
42
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
42
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
42
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
42
        auto column_result =
386
42
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
42
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
42
        } else {
399
42
            const auto& a = column_left_ptr->get_data().data();
400
42
            const auto& b = column_right_ptr->get_data().data();
401
42
            const auto& c = column_result->get_data().data();
402
42
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
42
            std::visit(
404
42
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
42
                        for (size_t i = 0; i < sz; i++) {
406
42
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
42
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
42
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
42
                                            max_result_number, scale_diff_multiplier));
410
42
                        }
411
42
                    },
412
42
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
42
                    make_bool_variant(check_overflow_for_decimal));
414
415
42
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
42
        }
426
427
42
        return column_result;
428
42
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_35EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
11
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
11
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
11
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
11
        auto column_result =
386
11
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
11
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
11
        } else {
399
11
            const auto& a = column_left_ptr->get_data().data();
400
11
            const auto& b = column_right_ptr->get_data().data();
401
11
            const auto& c = column_result->get_data().data();
402
11
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
11
            std::visit(
404
11
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
11
                        for (size_t i = 0; i < sz; i++) {
406
11
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
11
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
11
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
11
                                            max_result_number, scale_diff_multiplier));
410
11
                        }
411
11
                    },
412
11
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
11
                    make_bool_variant(check_overflow_for_decimal));
414
415
11
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
11
        }
426
427
11
        return column_result;
428
11
    }
429
430
    template <bool need_adjust_scale, bool check_overflow, PrimitiveType ResultType>
431
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
432
    static ALWAYS_INLINE typename PrimitiveTypeTraits<ResultType>::CppType::NativeType apply(
433
            ArgNativeTypeA a, ArgNativeTypeB b, const DataTypeA& type_left,
434
            const DataTypeB& type_right, const DataTypeDecimal<ResultType>& type_result,
435
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
436
5.56M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
5.56M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
5.56M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
5.56M
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
78
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
61
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
61
                    if constexpr (need_adjust_scale) {
445
60
                        if (res256 > 0) {
446
57
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
57
                                     scale_diff_multiplier.value;
448
449
57
                        } else {
450
3
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
3
                                     scale_diff_multiplier.value;
452
3
                        }
453
60
                    }
454
                    // check if final result is overflow
455
61
                    if (res256 > wide::Int256(max_result_number.value) ||
456
61
                        res256 < wide::Int256(-max_result_number.value)) {
457
8
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
8
                                                              type_result.get_scale()}
459
8
                                                  .to_string(Decimal256(res256));
460
8
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
8
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
8
                                        type_left.to_string(ArgA(a)), "multiply",
463
8
                                        type_right.to_string(ArgB(b)), result_str,
464
8
                                        type_result.get_name());
465
53
                    } else {
466
53
                        res = res256;
467
53
                    }
468
61
                } else {
469
17
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
17
                                                          type_result.get_scale()}
471
17
                                              .to_string(Decimal256(res));
472
17
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
17
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
17
                                    type_left.to_string(ArgA(a)), "multiply",
475
17
                                    type_right.to_string(ArgB(b)), result_str,
476
17
                                    type_result.get_name());
477
17
                }
478
5.56M
            } else {
479
                // round to final result precision
480
5.56M
                if constexpr (need_adjust_scale) {
481
121
                    if (res >= 0) {
482
118
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
118
                    } else {
484
3
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
3
                    }
486
121
                }
487
5.57M
                if (res > max_result_number.value || res < -max_result_number.value) {
488
5
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
5
                                                          type_result.get_scale()}
490
5
                                              .to_string(Decimal256(res));
491
5
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
5
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
5
                                    type_left.to_string(ArgA(a)), "multiply",
494
5
                                    type_right.to_string(ArgB(b)), result_str,
495
5
                                    type_result.get_name());
496
5
                }
497
5.56M
            }
498
5.56M
            return res;
499
5.56M
        } else {
500
0
            res = apply<ResultType>(a, b);
501
0
            if constexpr (need_adjust_scale) {
502
0
                if (res >= 0) {
503
0
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
0
                } else {
505
0
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
0
                }
507
0
            }
508
0
            return res;
509
0
        }
510
5.56M
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
20
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
20
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
20
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
20
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
20
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
20
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
20
            }
498
20
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
20
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
68
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
68
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
68
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
68
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
68
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
68
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
68
            }
498
68
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
68
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiiRKNS_15DataTypeDecimalILS1_28EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
2
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
2
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
2
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
2
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
2
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
2
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
2
            }
498
2
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
11
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
11
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
11
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
11
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
11
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
11
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
11
            }
498
11
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
11
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEilRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
4
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
4
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
4
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
4
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
3
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
3
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
3
                    if constexpr (need_adjust_scale) {
445
3
                        if (res256 > 0) {
446
2
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
2
                                     scale_diff_multiplier.value;
448
449
2
                        } else {
450
1
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
1
                                     scale_diff_multiplier.value;
452
1
                        }
453
3
                    }
454
                    // check if final result is overflow
455
3
                    if (res256 > wide::Int256(max_result_number.value) ||
456
3
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
3
                    } else {
466
3
                        res = res256;
467
3
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
3
            } else {
479
                // round to final result precision
480
1
                if constexpr (need_adjust_scale) {
481
1
                    if (res >= 0) {
482
1
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
1
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
1
                }
487
1
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
1
            }
498
4
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
4
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
34.9k
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
34.9k
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
34.9k
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
34.9k
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
34.9k
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
37.4k
                if (res > max_result_number.value || res < -max_result_number.value) {
488
1
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
1
                                                          type_result.get_scale()}
490
1
                                              .to_string(Decimal256(res));
491
1
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
1
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
1
                                    type_left.to_string(ArgA(a)), "multiply",
494
1
                                    type_right.to_string(ArgB(b)), result_str,
495
1
                                    type_result.get_name());
496
1
                }
497
34.9k
            }
498
34.9k
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
34.9k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEinRKNS_15DataTypeDecimalILS1_28EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
3
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
3
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
3
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
3
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
3
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
3
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
3
            }
498
3
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEiN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_28EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
27.4k
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
27.4k
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
27.4k
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
27.4k
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
27.4k
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
27.4k
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
27.4k
            }
498
27.4k
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
27.4k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
13
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
13
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
13
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
13
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
13
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
13
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
13
            }
498
13
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
13
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
3.14M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
3.14M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
3.14M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
3.14M
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
3.14M
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
3.15M
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
3.14M
            }
498
3.14M
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
3.14M
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
10
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
10
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
10
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
10
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
5
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
5
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
5
                    if constexpr (need_adjust_scale) {
445
5
                        if (res256 > 0) {
446
5
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
5
                                     scale_diff_multiplier.value;
448
449
5
                        } else {
450
0
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
0
                                     scale_diff_multiplier.value;
452
0
                        }
453
5
                    }
454
                    // check if final result is overflow
455
5
                    if (res256 > wide::Int256(max_result_number.value) ||
456
5
                        res256 < wide::Int256(-max_result_number.value)) {
457
1
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
1
                                                              type_result.get_scale()}
459
1
                                                  .to_string(Decimal256(res256));
460
1
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
1
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
1
                                        type_left.to_string(ArgA(a)), "multiply",
463
1
                                        type_right.to_string(ArgB(b)), result_str,
464
1
                                        type_result.get_name());
465
4
                    } else {
466
4
                        res = res256;
467
4
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
5
            } else {
479
                // round to final result precision
480
5
                if constexpr (need_adjust_scale) {
481
5
                    if (res >= 0) {
482
3
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
3
                    } else {
484
2
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
2
                    }
486
5
                }
487
5
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
5
            }
498
10
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
10
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
1
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
1
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
1
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
1
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
1
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
1
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
1
            }
498
1
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
1
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElnRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_30EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
2
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
2
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
2
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
2
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
2
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
2
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
2
            }
498
2
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeElN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_29EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
1
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
1
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
1
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
1
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
0
                    if constexpr (need_adjust_scale) {
445
0
                        if (res256 > 0) {
446
0
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
0
                                     scale_diff_multiplier.value;
448
449
0
                        } else {
450
0
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
0
                                     scale_diff_multiplier.value;
452
0
                        }
453
0
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
1
            } else {
479
                // round to final result precision
480
1
                if constexpr (need_adjust_scale) {
481
1
                    if (res >= 0) {
482
1
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
1
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
1
                }
487
1
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
1
            }
498
1
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
1
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
12.6k
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
12.6k
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
12.6k
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
12.6k
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
12.6k
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
12.6k
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
12.6k
            }
498
12.6k
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
12.6k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
7
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
7
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
7
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
7
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
1
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
1
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
1
                    if constexpr (need_adjust_scale) {
445
1
                        if (res256 > 0) {
446
0
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
0
                                     scale_diff_multiplier.value;
448
449
1
                        } else {
450
1
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
1
                                     scale_diff_multiplier.value;
452
1
                        }
453
1
                    }
454
                    // check if final result is overflow
455
1
                    if (res256 > wide::Int256(max_result_number.value) ||
456
1
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
1
                    } else {
466
1
                        res = res256;
467
1
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
6
            } else {
479
                // round to final result precision
480
6
                if constexpr (need_adjust_scale) {
481
6
                    if (res >= 0) {
482
5
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
5
                    } else {
484
1
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
1
                    }
486
6
                }
487
6
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
6
            }
498
7
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
7
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
2.33M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
2.33M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
2.33M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
2.33M
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
2.33M
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
2.34M
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
2.33M
            }
498
2.33M
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
2.33M
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
114
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
114
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
114
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
114
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
51
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
51
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
51
                    if constexpr (need_adjust_scale) {
445
51
                        if (res256 > 0) {
446
50
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
50
                                     scale_diff_multiplier.value;
448
449
50
                        } else {
450
1
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
1
                                     scale_diff_multiplier.value;
452
1
                        }
453
51
                    }
454
                    // check if final result is overflow
455
51
                    if (res256 > wide::Int256(max_result_number.value) ||
456
51
                        res256 < wide::Int256(-max_result_number.value)) {
457
6
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
6
                                                              type_result.get_scale()}
459
6
                                                  .to_string(Decimal256(res256));
460
6
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
6
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
6
                                        type_left.to_string(ArgA(a)), "multiply",
463
6
                                        type_right.to_string(ArgB(b)), result_str,
464
6
                                        type_result.get_name());
465
45
                    } else {
466
45
                        res = res256;
467
45
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
63
            } else {
479
                // round to final result precision
480
63
                if constexpr (need_adjust_scale) {
481
63
                    if (res >= 0) {
482
63
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
63
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
63
                }
487
63
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
63
            }
498
114
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
114
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
13
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
13
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
13
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
13
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
1
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
1
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
1
                    if (res256 > wide::Int256(max_result_number.value) ||
456
1
                        res256 < wide::Int256(-max_result_number.value)) {
457
1
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
1
                                                              type_result.get_scale()}
459
1
                                                  .to_string(Decimal256(res256));
460
1
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
1
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
1
                                        type_left.to_string(ArgA(a)), "multiply",
463
1
                                        type_right.to_string(ArgB(b)), result_str,
464
1
                                        type_result.get_name());
465
1
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
12
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
12
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
12
            }
498
13
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
13
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
264
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
264
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
264
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
264
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
264
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
264
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
264
            }
498
264
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
264
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnN4wide7integerILm256EiEERKNS_15DataTypeDecimalILS1_30EEERKNSB_ILS1_35EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Line
Count
Source
436
3
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
3
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
3
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
3
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
3
            } else {
479
                // round to final result precision
480
3
                if constexpr (need_adjust_scale) {
481
3
                    if (res >= 0) {
482
3
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
3
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
3
                }
487
3
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
3
            }
498
3
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEiRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_28EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Line
Count
Source
436
4
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
4
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
4
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
4
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
4
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
4
                if (res > max_result_number.value || res < -max_result_number.value) {
488
4
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
4
                                                          type_result.get_scale()}
490
4
                                              .to_string(Decimal256(res));
491
4
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
4
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
4
                                    type_left.to_string(ArgA(a)), "multiply",
494
4
                                    type_right.to_string(ArgB(b)), result_str,
495
4
                                    type_result.get_name());
496
4
                }
497
4
            }
498
0
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
4
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEElRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_29EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Line
Count
Source
436
51
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
51
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
51
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
51
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
9
                } else {
469
9
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
9
                                                          type_result.get_scale()}
471
9
                                              .to_string(Decimal256(res));
472
9
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
9
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
9
                                    type_left.to_string(ArgA(a)), "multiply",
475
9
                                    type_right.to_string(ArgB(b)), result_str,
476
9
                                    type_result.get_name());
477
9
                }
478
42
            } else {
479
                // round to final result precision
480
42
                if constexpr (need_adjust_scale) {
481
42
                    if (res >= 0) {
482
42
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
42
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
42
                }
487
42
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
42
            }
498
51
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
51
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEEnRKNS_15DataTypeDecimalILS1_35EEERKNSB_ILS1_30EEERKNSB_IXT1_EEERKNS5_7CppTypeESN_
Line
Count
Source
436
2
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
2
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
2
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
2
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
2
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
2
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
2
            }
498
2
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
8
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
8
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
8
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
8
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
8
                } else {
469
8
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
8
                                                          type_result.get_scale()}
471
8
                                              .to_string(Decimal256(res));
472
8
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
8
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
8
                                    type_left.to_string(ArgA(a)), "multiply",
475
8
                                    type_right.to_string(ArgB(b)), result_str,
476
8
                                    type_result.get_name());
477
8
                }
478
8
            } else {
479
                // round to final result precision
480
0
                if constexpr (need_adjust_scale) {
481
0
                    if (res >= 0) {
482
0
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
0
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
0
                }
487
0
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
0
            }
498
8
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
8
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
4
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
4
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
4
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
4
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
4
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
4
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
4
            }
498
4
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
4
    }
511
512
    template <bool need_adjust_scale, bool check_overflow, PrimitiveType ResultType>
513
        requires(ResultType == TYPE_DECIMALV2)
514
    static ALWAYS_INLINE typename PrimitiveTypeTraits<ResultType>::CppType::NativeType apply(
515
            ArgNativeTypeA a, ArgNativeTypeB b, const DataTypeA& type_left,
516
            const DataTypeB& type_right, const DataTypeDecimal<ResultType>& type_result,
517
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
518
15
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
519
        // Now, Doris only support decimal +-*/ decimal.
520
15
        if constexpr (check_overflow) {
521
15
            auto res = apply(DecimalV2Value(a), DecimalV2Value(b)).value();
522
15
            if (res > max_result_number.value() || res < -max_result_number.value()) {
523
14
                throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
524
14
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
525
14
                                DecimalV2Value(a).to_string(), "multiply",
526
14
                                DecimalV2Value(b).to_string(), DecimalV2Value(res).to_string(),
527
14
                                type_to_string(ResultType));
528
14
            }
529
1
            return res;
530
15
        } else {
531
0
            return apply(DecimalV2Value(a), DecimalV2Value(b)).value();
532
0
        }
533
15
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb1ELb1ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
518
15
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
519
        // Now, Doris only support decimal +-*/ decimal.
520
15
        if constexpr (check_overflow) {
521
15
            auto res = apply(DecimalV2Value(a), DecimalV2Value(b)).value();
522
15
            if (res > max_result_number.value() || res < -max_result_number.value()) {
523
14
                throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
524
14
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
525
14
                                DecimalV2Value(a).to_string(), "multiply",
526
14
                                DecimalV2Value(b).to_string(), DecimalV2Value(res).to_string(),
527
14
                                type_to_string(ResultType));
528
14
            }
529
1
            return res;
530
        } else {
531
            return apply(DecimalV2Value(a), DecimalV2Value(b)).value();
532
        }
533
15
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb1ELb0ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb0ELb0ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb0ELb1ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
534
535
    template <PrimitiveType PT>
536
    static std::pair<typename PrimitiveTypeTraits<PT>::CppType,
537
                     typename PrimitiveTypeTraits<PT>::CppType>
538
    get_max_and_multiplier(const DataTypeA* type_left, const DataTypeB* type_right,
539
4.61k
                           const DataTypeDecimal<PT>& type_result) {
540
4.61k
        auto max_result_number =
541
4.61k
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
4.61k
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
4.61k
        auto result_scale = type_result.get_scale();
545
4.61k
        DCHECK(orig_result_scale >= result_scale);
546
4.61k
        auto scale_diff_multiplier =
547
4.61k
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
4.61k
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
4.61k
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
4.61k
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE22get_max_and_multiplierILS1_20EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_20EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
169
                           const DataTypeDecimal<PT>& type_result) {
540
169
        auto max_result_number =
541
169
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
169
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
169
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
169
        auto scale_diff_multiplier =
547
169
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
169
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
169
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
169
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
14
                           const DataTypeDecimal<PT>& type_result) {
540
14
        auto max_result_number =
541
14
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
14
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
14
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
14
        auto scale_diff_multiplier =
547
14
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
14
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
14
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
14
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
48
                           const DataTypeDecimal<PT>& type_result) {
540
48
        auto max_result_number =
541
48
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
48
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
48
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
48
        auto scale_diff_multiplier =
547
48
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
48
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
48
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
48
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Line
Count
Source
539
2
                           const DataTypeDecimal<PT>& type_result) {
540
2
        auto max_result_number =
541
2
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
2
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
2
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
2
        auto scale_diff_multiplier =
547
2
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
2
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
2
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
2
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Line
Count
Source
539
9
                           const DataTypeDecimal<PT>& type_result) {
540
9
        auto max_result_number =
541
9
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
9
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
9
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
9
        auto scale_diff_multiplier =
547
9
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
9
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
9
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
9
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Line
Count
Source
539
207
                           const DataTypeDecimal<PT>& type_result) {
540
207
        auto max_result_number =
541
207
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
207
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
207
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
207
        auto scale_diff_multiplier =
547
207
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
207
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
207
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
207
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Line
Count
Source
539
3
                           const DataTypeDecimal<PT>& type_result) {
540
3
        auto max_result_number =
541
3
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
3
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
3
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
3
        auto scale_diff_multiplier =
547
3
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
3
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
3
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Line
Count
Source
539
67
                           const DataTypeDecimal<PT>& type_result) {
540
67
        auto max_result_number =
541
67
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
67
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
67
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
67
        auto scale_diff_multiplier =
547
67
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
67
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
67
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
67
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Line
Count
Source
539
9
                           const DataTypeDecimal<PT>& type_result) {
540
9
        auto max_result_number =
541
9
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
9
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
9
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
9
        auto scale_diff_multiplier =
547
9
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
9
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
9
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
9
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEESC_RKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
2.87k
                           const DataTypeDecimal<PT>& type_result) {
540
2.87k
        auto max_result_number =
541
2.87k
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
2.87k
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
2.87k
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
2.87k
        auto scale_diff_multiplier =
547
2.87k
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
2.87k
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
2.87k
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
2.87k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Line
Count
Source
539
9
                           const DataTypeDecimal<PT>& type_result) {
540
9
        auto max_result_number =
541
9
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
9
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
9
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
9
        auto scale_diff_multiplier =
547
9
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
9
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
9
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
9
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Line
Count
Source
539
2
                           const DataTypeDecimal<PT>& type_result) {
540
2
        auto max_result_number =
541
2
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
2
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
2
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
2
        auto scale_diff_multiplier =
547
2
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
2
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
2
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
2
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Line
Count
Source
539
513
                           const DataTypeDecimal<PT>& type_result) {
540
513
        auto max_result_number =
541
513
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
513
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
513
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
513
        auto scale_diff_multiplier =
547
513
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
513
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
513
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
513
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Line
Count
Source
539
473
                           const DataTypeDecimal<PT>& type_result) {
540
473
        auto max_result_number =
541
473
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
473
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
473
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
473
        auto scale_diff_multiplier =
547
473
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
473
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
473
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
473
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEESC_RKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
95
                           const DataTypeDecimal<PT>& type_result) {
540
95
        auto max_result_number =
541
95
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
95
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
95
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
95
        auto scale_diff_multiplier =
547
95
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
95
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
95
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
95
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
66
                           const DataTypeDecimal<PT>& type_result) {
540
66
        auto max_result_number =
541
66
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
66
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
66
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
66
        auto scale_diff_multiplier =
547
66
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
66
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
66
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
66
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Line
Count
Source
539
6
                           const DataTypeDecimal<PT>& type_result) {
540
6
        auto max_result_number =
541
6
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
6
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
6
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
6
        auto scale_diff_multiplier =
547
6
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
6
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
6
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
6
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Line
Count
Source
539
41
                           const DataTypeDecimal<PT>& type_result) {
540
41
        auto max_result_number =
541
41
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
41
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
41
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
41
        auto scale_diff_multiplier =
547
41
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
41
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
41
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
41
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
12
                           const DataTypeDecimal<PT>& type_result) {
540
12
        auto max_result_number =
541
12
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
12
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
12
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
12
        auto scale_diff_multiplier =
547
12
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
12
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
12
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
12
    }
551
};
552
553
template <typename Impl>
554
class FunctionMultiply : public IFunction {
555
    static constexpr bool result_is_decimal = Impl::result_is_decimal;
556
557
public:
558
    static constexpr auto name = "multiply";
559
560
10.7k
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE6createEv
Line
Count
Source
560
65
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE6createEv
Line
Count
Source
560
40
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE6createEv
Line
Count
Source
560
14
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE6createEv
Line
Count
Source
560
38
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE6createEv
Line
Count
Source
560
47
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE6createEv
Line
Count
Source
560
156
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE6createEv
Line
Count
Source
560
17
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE6createEv
Line
Count
Source
560
149
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE6createEv
Line
Count
Source
560
90
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE6createEv
Line
Count
Source
560
129
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE6createEv
Line
Count
Source
560
15
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE6createEv
Line
Count
Source
560
31
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE6createEv
Line
Count
Source
560
24
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE6createEv
Line
Count
Source
560
9
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE6createEv
Line
Count
Source
560
24
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE6createEv
Line
Count
Source
560
35
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE6createEv
Line
Count
Source
560
9.26k
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE6createEv
Line
Count
Source
560
50
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE6createEv
Line
Count
Source
560
9
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE6createEv
Line
Count
Source
560
498
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
561
562
10.7k
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEEC2Ev
Line
Count
Source
562
65
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEEC2Ev
Line
Count
Source
562
40
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEEC2Ev
Line
Count
Source
562
14
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEEC2Ev
Line
Count
Source
562
38
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEEC2Ev
Line
Count
Source
562
47
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEEC2Ev
Line
Count
Source
562
156
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEEC2Ev
Line
Count
Source
562
17
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEEC2Ev
Line
Count
Source
562
149
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEEC2Ev
Line
Count
Source
562
90
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEEC2Ev
Line
Count
Source
562
129
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEEC2Ev
Line
Count
Source
562
15
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEEC2Ev
Line
Count
Source
562
31
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEEC2Ev
Line
Count
Source
562
24
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEEC2Ev
Line
Count
Source
562
9
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEEC2Ev
Line
Count
Source
562
24
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEEC2Ev
Line
Count
Source
562
35
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEEC2Ev
Line
Count
Source
562
9.26k
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEEC2Ev
Line
Count
Source
562
50
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEEC2Ev
Line
Count
Source
562
9
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEEC2Ev
Line
Count
Source
562
498
    FunctionMultiply() = default;
563
564
41
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
565
566
5.11k
    bool need_replace_null_data_to_default() const override {
567
5.11k
        return Impl::need_replace_null_data_to_default;
568
5.11k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
120
    bool need_replace_null_data_to_default() const override {
567
120
        return Impl::need_replace_null_data_to_default;
568
120
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
62
    bool need_replace_null_data_to_default() const override {
567
62
        return Impl::need_replace_null_data_to_default;
568
62
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
11
    bool need_replace_null_data_to_default() const override {
567
11
        return Impl::need_replace_null_data_to_default;
568
11
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
33
    bool need_replace_null_data_to_default() const override {
567
33
        return Impl::need_replace_null_data_to_default;
568
33
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
25
    bool need_replace_null_data_to_default() const override {
567
25
        return Impl::need_replace_null_data_to_default;
568
25
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
21
    bool need_replace_null_data_to_default() const override {
567
21
        return Impl::need_replace_null_data_to_default;
568
21
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
11
    bool need_replace_null_data_to_default() const override {
567
11
        return Impl::need_replace_null_data_to_default;
568
11
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
262
    bool need_replace_null_data_to_default() const override {
567
262
        return Impl::need_replace_null_data_to_default;
568
262
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
3
    bool need_replace_null_data_to_default() const override {
567
3
        return Impl::need_replace_null_data_to_default;
568
3
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
158
    bool need_replace_null_data_to_default() const override {
567
158
        return Impl::need_replace_null_data_to_default;
568
158
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
6
    bool need_replace_null_data_to_default() const override {
567
6
        return Impl::need_replace_null_data_to_default;
568
6
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
41
    bool need_replace_null_data_to_default() const override {
567
41
        return Impl::need_replace_null_data_to_default;
568
41
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
10
    bool need_replace_null_data_to_default() const override {
567
10
        return Impl::need_replace_null_data_to_default;
568
10
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
23
    bool need_replace_null_data_to_default() const override {
567
23
        return Impl::need_replace_null_data_to_default;
568
23
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
44
    bool need_replace_null_data_to_default() const override {
567
44
        return Impl::need_replace_null_data_to_default;
568
44
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
722
    bool need_replace_null_data_to_default() const override {
567
722
        return Impl::need_replace_null_data_to_default;
568
722
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
82
    bool need_replace_null_data_to_default() const override {
567
82
        return Impl::need_replace_null_data_to_default;
568
82
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
3.48k
    bool need_replace_null_data_to_default() const override {
567
3.48k
        return Impl::need_replace_null_data_to_default;
568
3.48k
    }
569
570
58.4k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
513
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
238
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
38
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
506
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE40use_default_implementation_for_constantsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
271
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
6.22k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
40
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE40use_default_implementation_for_constantsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
1.69k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
1.02k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
723
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE40use_default_implementation_for_constantsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
23
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE40use_default_implementation_for_constantsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
170
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
59
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE40use_default_implementation_for_constantsEv
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
120
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
252
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
34.2k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
440
    bool use_default_implementation_for_constants() const final { return false; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE40use_default_implementation_for_constantsEv
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
11.8k
    bool use_default_implementation_for_constants() const final { return false; }
571
572
10.5k
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE23get_number_of_argumentsEv
Line
Count
Source
572
56
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
31
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
5
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
29
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
38
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
147
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
8
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
140
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
81
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
120
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
6
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
22
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
15
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE23get_number_of_argumentsEv
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE23get_number_of_argumentsEv
Line
Count
Source
572
15
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE23get_number_of_argumentsEv
Line
Count
Source
572
26
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE23get_number_of_argumentsEv
Line
Count
Source
572
9.25k
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE23get_number_of_argumentsEv
Line
Count
Source
572
41
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE23get_number_of_argumentsEv
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE23get_number_of_argumentsEv
Line
Count
Source
572
489
    size_t get_number_of_arguments() const override { return 2; }
573
574
192
    DataTypes get_variadic_argument_types_impl() const override {
575
192
        return Impl::get_variadic_argument_types();
576
192
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE32get_variadic_argument_types_implEv
Line
Count
Source
574
8
    DataTypes get_variadic_argument_types_impl() const override {
575
8
        return Impl::get_variadic_argument_types();
576
8
    }
577
578
10.5k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
10.5k
        return arguments[0];
580
10.5k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
56
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
56
        return arguments[0];
580
56
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
31
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
31
        return arguments[0];
580
31
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
5
        return arguments[0];
580
5
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
29
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
29
        return arguments[0];
580
29
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
38
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
38
        return arguments[0];
580
38
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
147
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
147
        return arguments[0];
580
147
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
8
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
8
        return arguments[0];
580
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
140
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
140
        return arguments[0];
580
140
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
81
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
81
        return arguments[0];
580
81
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
120
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
120
        return arguments[0];
580
120
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
6
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
6
        return arguments[0];
580
6
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
22
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
22
        return arguments[0];
580
22
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
15
        return arguments[0];
580
15
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
15
        return arguments[0];
580
15
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
26
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
26
        return arguments[0];
580
26
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
9.26k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
9.26k
        return arguments[0];
580
9.26k
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
41
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
41
        return arguments[0];
580
41
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
489
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
489
        return arguments[0];
580
489
    }
581
582
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
583
19.6k
                        uint32_t result, size_t input_rows_count) const override {
584
19.6k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
19.6k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
19.6k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
19.6k
                block.get_by_position(arguments[0]).type.get());
588
19.6k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
19.6k
                block.get_by_position(arguments[1]).type.get());
590
19.6k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
19.6k
        bool is_const_left = is_column_const(*column_left);
592
19.6k
        bool is_const_right = is_column_const(*column_right);
593
594
19.6k
        ColumnPtr column_result = nullptr;
595
19.6k
        if (is_const_left && is_const_right) {
596
33
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
33
                                              res_data_type, context->check_overflow_for_decimal());
598
19.6k
        } else if (is_const_left) {
599
176
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
176
                                            res_data_type, context->check_overflow_for_decimal());
601
19.4k
        } else if (is_const_right) {
602
10.0k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
10.0k
                                            res_data_type, context->check_overflow_for_decimal());
604
10.0k
        } else {
605
9.41k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
9.41k
                                          res_data_type, context->check_overflow_for_decimal());
607
9.41k
        }
608
19.6k
        block.replace_by_position(result, std::move(column_result));
609
19.6k
        return Status::OK();
610
19.6k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
169
                        uint32_t result, size_t input_rows_count) const override {
584
169
        auto& column_left = block.get_by_position(arguments[0]).column;
585
169
        auto& column_right = block.get_by_position(arguments[1]).column;
586
169
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
169
                block.get_by_position(arguments[0]).type.get());
588
169
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
169
                block.get_by_position(arguments[1]).type.get());
590
169
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
169
        bool is_const_left = is_column_const(*column_left);
592
169
        bool is_const_right = is_column_const(*column_right);
593
594
169
        ColumnPtr column_result = nullptr;
595
169
        if (is_const_left && is_const_right) {
596
13
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
13
                                              res_data_type, context->check_overflow_for_decimal());
598
156
        } else if (is_const_left) {
599
1
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
1
                                            res_data_type, context->check_overflow_for_decimal());
601
155
        } else if (is_const_right) {
602
1
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
1
                                            res_data_type, context->check_overflow_for_decimal());
604
154
        } else {
605
154
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
154
                                          res_data_type, context->check_overflow_for_decimal());
607
154
        }
608
169
        block.replace_by_position(result, std::move(column_result));
609
169
        return Status::OK();
610
169
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
62
                        uint32_t result, size_t input_rows_count) const override {
584
62
        auto& column_left = block.get_by_position(arguments[0]).column;
585
62
        auto& column_right = block.get_by_position(arguments[1]).column;
586
62
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
62
                block.get_by_position(arguments[0]).type.get());
588
62
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
62
                block.get_by_position(arguments[1]).type.get());
590
62
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
62
        bool is_const_left = is_column_const(*column_left);
592
62
        bool is_const_right = is_column_const(*column_right);
593
594
62
        ColumnPtr column_result = nullptr;
595
62
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
62
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
62
        } else if (is_const_right) {
602
34
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
34
                                            res_data_type, context->check_overflow_for_decimal());
604
34
        } else {
605
28
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
28
                                          res_data_type, context->check_overflow_for_decimal());
607
28
        }
608
62
        block.replace_by_position(result, std::move(column_result));
609
62
        return Status::OK();
610
62
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
11
                        uint32_t result, size_t input_rows_count) const override {
584
11
        auto& column_left = block.get_by_position(arguments[0]).column;
585
11
        auto& column_right = block.get_by_position(arguments[1]).column;
586
11
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
11
                block.get_by_position(arguments[0]).type.get());
588
11
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
11
                block.get_by_position(arguments[1]).type.get());
590
11
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
11
        bool is_const_left = is_column_const(*column_left);
592
11
        bool is_const_right = is_column_const(*column_right);
593
594
11
        ColumnPtr column_result = nullptr;
595
11
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
11
        } else if (is_const_left) {
599
5
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
5
                                            res_data_type, context->check_overflow_for_decimal());
601
6
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
6
        } else {
605
6
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
6
                                          res_data_type, context->check_overflow_for_decimal());
607
6
        }
608
11
        block.replace_by_position(result, std::move(column_result));
609
11
        return Status::OK();
610
11
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
210
                        uint32_t result, size_t input_rows_count) const override {
584
210
        auto& column_left = block.get_by_position(arguments[0]).column;
585
210
        auto& column_right = block.get_by_position(arguments[1]).column;
586
210
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
210
                block.get_by_position(arguments[0]).type.get());
588
210
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
210
                block.get_by_position(arguments[1]).type.get());
590
210
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
210
        bool is_const_left = is_column_const(*column_left);
592
210
        bool is_const_right = is_column_const(*column_right);
593
594
210
        ColumnPtr column_result = nullptr;
595
210
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
210
        } else if (is_const_left) {
599
162
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
162
                                            res_data_type, context->check_overflow_for_decimal());
601
162
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
48
        } else {
605
48
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
48
                                          res_data_type, context->check_overflow_for_decimal());
607
48
        }
608
210
        block.replace_by_position(result, std::move(column_result));
609
210
        return Status::OK();
610
210
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
76
                        uint32_t result, size_t input_rows_count) const override {
584
76
        auto& column_left = block.get_by_position(arguments[0]).column;
585
76
        auto& column_right = block.get_by_position(arguments[1]).column;
586
76
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
76
                block.get_by_position(arguments[0]).type.get());
588
76
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
76
                block.get_by_position(arguments[1]).type.get());
590
76
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
76
        bool is_const_left = is_column_const(*column_left);
592
76
        bool is_const_right = is_column_const(*column_right);
593
594
76
        ColumnPtr column_result = nullptr;
595
76
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
76
        } else if (is_const_left) {
599
4
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
4
                                            res_data_type, context->check_overflow_for_decimal());
601
72
        } else if (is_const_right) {
602
66
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
66
                                            res_data_type, context->check_overflow_for_decimal());
604
66
        } else {
605
6
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
6
                                          res_data_type, context->check_overflow_for_decimal());
607
6
        }
608
76
        block.replace_by_position(result, std::move(column_result));
609
76
        return Status::OK();
610
76
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
2.87k
                        uint32_t result, size_t input_rows_count) const override {
584
2.87k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
2.87k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
2.87k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
2.87k
                block.get_by_position(arguments[0]).type.get());
588
2.87k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
2.87k
                block.get_by_position(arguments[1]).type.get());
590
2.87k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
2.87k
        bool is_const_left = is_column_const(*column_left);
592
2.87k
        bool is_const_right = is_column_const(*column_right);
593
594
2.87k
        ColumnPtr column_result = nullptr;
595
2.87k
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
2.87k
        } else if (is_const_left) {
599
3
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
3
                                            res_data_type, context->check_overflow_for_decimal());
601
2.87k
        } else if (is_const_right) {
602
2
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
2
                                            res_data_type, context->check_overflow_for_decimal());
604
2.87k
        } else {
605
2.87k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
2.87k
                                          res_data_type, context->check_overflow_for_decimal());
607
2.87k
        }
608
2.87k
        block.replace_by_position(result, std::move(column_result));
609
2.87k
        return Status::OK();
610
2.87k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
11
                        uint32_t result, size_t input_rows_count) const override {
584
11
        auto& column_left = block.get_by_position(arguments[0]).column;
585
11
        auto& column_right = block.get_by_position(arguments[1]).column;
586
11
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
11
                block.get_by_position(arguments[0]).type.get());
588
11
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
11
                block.get_by_position(arguments[1]).type.get());
590
11
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
11
        bool is_const_left = is_column_const(*column_left);
592
11
        bool is_const_right = is_column_const(*column_right);
593
594
11
        ColumnPtr column_result = nullptr;
595
11
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
11
        } else if (is_const_left) {
599
1
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
1
                                            res_data_type, context->check_overflow_for_decimal());
601
10
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
10
        } else {
605
10
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
10
                                          res_data_type, context->check_overflow_for_decimal());
607
10
        }
608
11
        block.replace_by_position(result, std::move(column_result));
609
11
        return Status::OK();
610
11
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
513
                        uint32_t result, size_t input_rows_count) const override {
584
513
        auto& column_left = block.get_by_position(arguments[0]).column;
585
513
        auto& column_right = block.get_by_position(arguments[1]).column;
586
513
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
513
                block.get_by_position(arguments[0]).type.get());
588
513
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
513
                block.get_by_position(arguments[1]).type.get());
590
513
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
513
        bool is_const_left = is_column_const(*column_left);
592
513
        bool is_const_right = is_column_const(*column_right);
593
594
513
        ColumnPtr column_result = nullptr;
595
513
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
513
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
513
        } else if (is_const_right) {
602
457
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
457
                                            res_data_type, context->check_overflow_for_decimal());
604
457
        } else {
605
56
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
56
                                          res_data_type, context->check_overflow_for_decimal());
607
56
        }
608
513
        block.replace_by_position(result, std::move(column_result));
609
513
        return Status::OK();
610
513
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
473
                        uint32_t result, size_t input_rows_count) const override {
584
473
        auto& column_left = block.get_by_position(arguments[0]).column;
585
473
        auto& column_right = block.get_by_position(arguments[1]).column;
586
473
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
473
                block.get_by_position(arguments[0]).type.get());
588
473
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
473
                block.get_by_position(arguments[1]).type.get());
590
473
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
473
        bool is_const_left = is_column_const(*column_left);
592
473
        bool is_const_right = is_column_const(*column_right);
593
594
473
        ColumnPtr column_result = nullptr;
595
473
        if (is_const_left && is_const_right) {
596
2
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
2
                                              res_data_type, context->check_overflow_for_decimal());
598
471
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
471
        } else if (is_const_right) {
602
2
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
2
                                            res_data_type, context->check_overflow_for_decimal());
604
469
        } else {
605
469
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
469
                                          res_data_type, context->check_overflow_for_decimal());
607
469
        }
608
473
        block.replace_by_position(result, std::move(column_result));
609
473
        return Status::OK();
610
473
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
161
                        uint32_t result, size_t input_rows_count) const override {
584
161
        auto& column_left = block.get_by_position(arguments[0]).column;
585
161
        auto& column_right = block.get_by_position(arguments[1]).column;
586
161
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
161
                block.get_by_position(arguments[0]).type.get());
588
161
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
161
                block.get_by_position(arguments[1]).type.get());
590
161
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
161
        bool is_const_left = is_column_const(*column_left);
592
161
        bool is_const_right = is_column_const(*column_right);
593
594
161
        ColumnPtr column_result = nullptr;
595
161
        if (is_const_left && is_const_right) {
596
2
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
2
                                              res_data_type, context->check_overflow_for_decimal());
598
159
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
159
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
159
        } else {
605
159
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
159
                                          res_data_type, context->check_overflow_for_decimal());
607
159
        }
608
161
        block.replace_by_position(result, std::move(column_result));
609
161
        return Status::OK();
610
161
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
6
                        uint32_t result, size_t input_rows_count) const override {
584
6
        auto& column_left = block.get_by_position(arguments[0]).column;
585
6
        auto& column_right = block.get_by_position(arguments[1]).column;
586
6
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
6
                block.get_by_position(arguments[0]).type.get());
588
6
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
6
                block.get_by_position(arguments[1]).type.get());
590
6
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
6
        bool is_const_left = is_column_const(*column_left);
592
6
        bool is_const_right = is_column_const(*column_right);
593
594
6
        ColumnPtr column_result = nullptr;
595
6
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
6
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
6
        } else if (is_const_right) {
602
2
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
2
                                            res_data_type, context->check_overflow_for_decimal());
604
4
        } else {
605
4
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
4
                                          res_data_type, context->check_overflow_for_decimal());
607
4
        }
608
6
        block.replace_by_position(result, std::move(column_result));
609
6
        return Status::OK();
610
6
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
41
                        uint32_t result, size_t input_rows_count) const override {
584
41
        auto& column_left = block.get_by_position(arguments[0]).column;
585
41
        auto& column_right = block.get_by_position(arguments[1]).column;
586
41
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
41
                block.get_by_position(arguments[0]).type.get());
588
41
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
41
                block.get_by_position(arguments[1]).type.get());
590
41
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
41
        bool is_const_left = is_column_const(*column_left);
592
41
        bool is_const_right = is_column_const(*column_right);
593
594
41
        ColumnPtr column_result = nullptr;
595
41
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
41
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
41
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
41
        } else {
605
41
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
41
                                          res_data_type, context->check_overflow_for_decimal());
607
41
        }
608
41
        block.replace_by_position(result, std::move(column_result));
609
41
        return Status::OK();
610
41
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
12
                        uint32_t result, size_t input_rows_count) const override {
584
12
        auto& column_left = block.get_by_position(arguments[0]).column;
585
12
        auto& column_right = block.get_by_position(arguments[1]).column;
586
12
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
12
                block.get_by_position(arguments[0]).type.get());
588
12
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
12
                block.get_by_position(arguments[1]).type.get());
590
12
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
12
        bool is_const_left = is_column_const(*column_left);
592
12
        bool is_const_right = is_column_const(*column_right);
593
594
12
        ColumnPtr column_result = nullptr;
595
12
        if (is_const_left && is_const_right) {
596
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
1
                                              res_data_type, context->check_overflow_for_decimal());
598
11
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
11
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
11
        } else {
605
11
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
11
                                          res_data_type, context->check_overflow_for_decimal());
607
11
        }
608
12
        block.replace_by_position(result, std::move(column_result));
609
12
        return Status::OK();
610
12
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
40
                        uint32_t result, size_t input_rows_count) const override {
584
40
        auto& column_left = block.get_by_position(arguments[0]).column;
585
40
        auto& column_right = block.get_by_position(arguments[1]).column;
586
40
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
40
                block.get_by_position(arguments[0]).type.get());
588
40
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
40
                block.get_by_position(arguments[1]).type.get());
590
40
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
40
        bool is_const_left = is_column_const(*column_left);
592
40
        bool is_const_right = is_column_const(*column_right);
593
594
40
        ColumnPtr column_result = nullptr;
595
40
        if (is_const_left && is_const_right) {
596
2
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
2
                                              res_data_type, context->check_overflow_for_decimal());
598
38
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
38
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
38
        } else {
605
38
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
38
                                          res_data_type, context->check_overflow_for_decimal());
607
38
        }
608
40
        block.replace_by_position(result, std::move(column_result));
609
40
        return Status::OK();
610
40
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
68
                        uint32_t result, size_t input_rows_count) const override {
584
68
        auto& column_left = block.get_by_position(arguments[0]).column;
585
68
        auto& column_right = block.get_by_position(arguments[1]).column;
586
68
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
68
                block.get_by_position(arguments[0]).type.get());
588
68
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
68
                block.get_by_position(arguments[1]).type.get());
590
68
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
68
        bool is_const_left = is_column_const(*column_left);
592
68
        bool is_const_right = is_column_const(*column_right);
593
594
68
        ColumnPtr column_result = nullptr;
595
68
        if (is_const_left && is_const_right) {
596
4
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
4
                                              res_data_type, context->check_overflow_for_decimal());
598
64
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
64
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
64
        } else {
605
64
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
64
                                          res_data_type, context->check_overflow_for_decimal());
607
64
        }
608
68
        block.replace_by_position(result, std::move(column_result));
609
68
        return Status::OK();
610
68
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
11.0k
                        uint32_t result, size_t input_rows_count) const override {
584
11.0k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
11.0k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
11.0k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
11.0k
                block.get_by_position(arguments[0]).type.get());
588
11.0k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
11.0k
                block.get_by_position(arguments[1]).type.get());
590
11.0k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
11.0k
        bool is_const_left = is_column_const(*column_left);
592
11.0k
        bool is_const_right = is_column_const(*column_right);
593
594
11.0k
        ColumnPtr column_result = nullptr;
595
11.0k
        if (is_const_left && is_const_right) {
596
4
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
4
                                              res_data_type, context->check_overflow_for_decimal());
598
11.0k
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
11.0k
        } else if (is_const_right) {
602
9.24k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
9.24k
                                            res_data_type, context->check_overflow_for_decimal());
604
9.24k
        } else {
605
1.80k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
1.80k
                                          res_data_type, context->check_overflow_for_decimal());
607
1.80k
        }
608
11.0k
        block.replace_by_position(result, std::move(column_result));
609
11.0k
        return Status::OK();
610
11.0k
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
157
                        uint32_t result, size_t input_rows_count) const override {
584
157
        auto& column_left = block.get_by_position(arguments[0]).column;
585
157
        auto& column_right = block.get_by_position(arguments[1]).column;
586
157
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
157
                block.get_by_position(arguments[0]).type.get());
588
157
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
157
                block.get_by_position(arguments[1]).type.get());
590
157
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
157
        bool is_const_left = is_column_const(*column_left);
592
157
        bool is_const_right = is_column_const(*column_right);
593
594
157
        ColumnPtr column_result = nullptr;
595
157
        if (is_const_left && is_const_right) {
596
1
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
1
                                              res_data_type, context->check_overflow_for_decimal());
598
156
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
156
        } else if (is_const_right) {
602
6
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
6
                                            res_data_type, context->check_overflow_for_decimal());
604
150
        } else {
605
150
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
150
                                          res_data_type, context->check_overflow_for_decimal());
607
150
        }
608
157
        block.replace_by_position(result, std::move(column_result));
609
157
        return Status::OK();
610
157
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
3.71k
                        uint32_t result, size_t input_rows_count) const override {
584
3.71k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
3.71k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
3.71k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
3.71k
                block.get_by_position(arguments[0]).type.get());
588
3.71k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
3.71k
                block.get_by_position(arguments[1]).type.get());
590
3.71k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
3.71k
        bool is_const_left = is_column_const(*column_left);
592
3.71k
        bool is_const_right = is_column_const(*column_right);
593
594
3.71k
        ColumnPtr column_result = nullptr;
595
3.71k
        if (is_const_left && is_const_right) {
596
4
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
4
                                              res_data_type, context->check_overflow_for_decimal());
598
3.70k
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
3.70k
        } else if (is_const_right) {
602
216
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
216
                                            res_data_type, context->check_overflow_for_decimal());
604
3.49k
        } else {
605
3.49k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
3.49k
                                          res_data_type, context->check_overflow_for_decimal());
607
3.49k
        }
608
3.71k
        block.replace_by_position(result, std::move(column_result));
609
3.71k
        return Status::OK();
610
3.71k
    }
611
612
private:
613
    ColumnPtr constant_constant(ColumnPtr column_left, ColumnPtr column_right,
614
                                const typename Impl::DataTypeA* type_left,
615
                                const typename Impl::DataTypeB* type_right,
616
33
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
33
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
33
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
33
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
33
        ColumnPtr column_result = nullptr;
622
623
33
        if constexpr (result_is_decimal) {
624
18
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
13
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
13
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
13
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
13
                                        type_left, type_right, type_result);
629
13
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
13
                                        left_tmp;
631
13
                                auto left_src =
632
13
                                        column_left_ptr
633
13
                                                ->template get_value<Impl::DataTypeA::PType>();
634
13
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
13
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
13
                                        right_tmp;
637
13
                                auto right_src =
638
13
                                        column_right_ptr
639
13
                                                ->template get_value<Impl::DataTypeB::PType>();
640
13
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
13
                                column_result = Impl::constant_constant(
642
13
                                        left_tmp, right_tmp, type_left, type_right,
643
13
                                        max_and_multiplier.first, max_and_multiplier.second,
644
13
                                        type_result, check_overflow_for_decimal);
645
13
                                return true;
646
13
                            })) {
647
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
0
                                    type_to_string(res_data_type->get_primitive_type()));
650
0
                }
651
13
            } else {
652
5
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
5
                                         DataTypeDecimal256>(
654
5
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
5
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
5
                                        type_left, type_right, type_result);
657
5
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
5
                                        left_tmp;
659
5
                                auto left_src =
660
5
                                        column_left_ptr
661
5
                                                ->template get_value<Impl::DataTypeA::PType>();
662
5
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
5
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
5
                                        right_tmp;
665
5
                                auto right_src =
666
5
                                        column_right_ptr
667
5
                                                ->template get_value<Impl::DataTypeB::PType>();
668
5
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
5
                                column_result = Impl::constant_constant(
670
5
                                        left_tmp, right_tmp, type_left, type_right,
671
5
                                        max_and_multiplier.first, max_and_multiplier.second,
672
5
                                        type_result, check_overflow_for_decimal);
673
5
                                return true;
674
5
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
654
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
2
                                        type_left, type_right, type_result);
657
2
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
2
                                        left_tmp;
659
2
                                auto left_src =
660
2
                                        column_left_ptr
661
2
                                                ->template get_value<Impl::DataTypeA::PType>();
662
2
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
2
                                        right_tmp;
665
2
                                auto right_src =
666
2
                                        column_right_ptr
667
2
                                                ->template get_value<Impl::DataTypeB::PType>();
668
2
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
2
                                column_result = Impl::constant_constant(
670
2
                                        left_tmp, right_tmp, type_left, type_right,
671
2
                                        max_and_multiplier.first, max_and_multiplier.second,
672
2
                                        type_result, check_overflow_for_decimal);
673
2
                                return true;
674
2
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
654
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
2
                                        type_left, type_right, type_result);
657
2
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
2
                                        left_tmp;
659
2
                                auto left_src =
660
2
                                        column_left_ptr
661
2
                                                ->template get_value<Impl::DataTypeA::PType>();
662
2
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
2
                                        right_tmp;
665
2
                                auto right_src =
666
2
                                        column_right_ptr
667
2
                                                ->template get_value<Impl::DataTypeB::PType>();
668
2
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
2
                                column_result = Impl::constant_constant(
670
2
                                        left_tmp, right_tmp, type_left, type_right,
671
2
                                        max_and_multiplier.first, max_and_multiplier.second,
672
2
                                        type_result, check_overflow_for_decimal);
673
2
                                return true;
674
2
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
654
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
1
                                        type_left, type_right, type_result);
657
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
1
                                        left_tmp;
659
1
                                auto left_src =
660
1
                                        column_left_ptr
661
1
                                                ->template get_value<Impl::DataTypeA::PType>();
662
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
1
                                        right_tmp;
665
1
                                auto right_src =
666
1
                                        column_right_ptr
667
1
                                                ->template get_value<Impl::DataTypeB::PType>();
668
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
1
                                column_result = Impl::constant_constant(
670
1
                                        left_tmp, right_tmp, type_left, type_right,
671
1
                                        max_and_multiplier.first, max_and_multiplier.second,
672
1
                                        type_result, check_overflow_for_decimal);
673
1
                                return true;
674
1
                            })) {
675
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
0
                                    type_to_string(res_data_type->get_primitive_type()));
678
0
                }
679
5
            }
680
18
        } else {
681
15
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
15
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
15
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
15
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
15
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
15
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
15
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
15
        }
689
690
18
        return ColumnConst::create(std::move(column_result), column_left->size());
691
33
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_20EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
13
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
13
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
13
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
13
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
13
        ColumnPtr column_result = nullptr;
622
623
13
        if constexpr (result_is_decimal) {
624
13
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
13
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
13
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
13
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
13
                                        type_left, type_right, type_result);
629
13
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
13
                                        left_tmp;
631
13
                                auto left_src =
632
13
                                        column_left_ptr
633
13
                                                ->template get_value<Impl::DataTypeA::PType>();
634
13
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
13
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
13
                                        right_tmp;
637
13
                                auto right_src =
638
13
                                        column_right_ptr
639
13
                                                ->template get_value<Impl::DataTypeB::PType>();
640
13
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
13
                                column_result = Impl::constant_constant(
642
13
                                        left_tmp, right_tmp, type_left, type_right,
643
13
                                        max_and_multiplier.first, max_and_multiplier.second,
644
13
                                        type_result, check_overflow_for_decimal);
645
13
                                return true;
646
13
                            })) {
647
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
0
                                    type_to_string(res_data_type->get_primitive_type()));
650
0
                }
651
            } else {
652
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
                                         DataTypeDecimal256>(
654
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
                                        type_left, type_right, type_result);
657
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
                                        left_tmp;
659
                                auto left_src =
660
                                        column_left_ptr
661
                                                ->template get_value<Impl::DataTypeA::PType>();
662
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
                                        right_tmp;
665
                                auto right_src =
666
                                        column_right_ptr
667
                                                ->template get_value<Impl::DataTypeB::PType>();
668
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
                                column_result = Impl::constant_constant(
670
                                        left_tmp, right_tmp, type_left, type_right,
671
                                        max_and_multiplier.first, max_and_multiplier.second,
672
                                        type_result, check_overflow_for_decimal);
673
                                return true;
674
                            })) {
675
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
                                    type_to_string(res_data_type->get_primitive_type()));
678
                }
679
            }
680
        } else {
681
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
        }
689
690
13
        return ColumnConst::create(std::move(column_result), column_left->size());
691
13
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
2
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
2
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
2
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
2
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
2
        ColumnPtr column_result = nullptr;
622
623
2
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
2
            } else {
652
2
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
2
                                         DataTypeDecimal256>(
654
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
2
                                        type_left, type_right, type_result);
657
2
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
2
                                        left_tmp;
659
2
                                auto left_src =
660
2
                                        column_left_ptr
661
2
                                                ->template get_value<Impl::DataTypeA::PType>();
662
2
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
2
                                        right_tmp;
665
2
                                auto right_src =
666
2
                                        column_right_ptr
667
2
                                                ->template get_value<Impl::DataTypeB::PType>();
668
2
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
2
                                column_result = Impl::constant_constant(
670
2
                                        left_tmp, right_tmp, type_left, type_right,
671
2
                                        max_and_multiplier.first, max_and_multiplier.second,
672
2
                                        type_result, check_overflow_for_decimal);
673
2
                                return true;
674
2
                            })) {
675
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
0
                                    type_to_string(res_data_type->get_primitive_type()));
678
0
                }
679
2
            }
680
        } else {
681
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
        }
689
690
2
        return ColumnConst::create(std::move(column_result), column_left->size());
691
2
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
2
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
2
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
2
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
2
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
2
        ColumnPtr column_result = nullptr;
622
623
2
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
2
            } else {
652
2
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
2
                                         DataTypeDecimal256>(
654
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
2
                                        type_left, type_right, type_result);
657
2
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
2
                                        left_tmp;
659
2
                                auto left_src =
660
2
                                        column_left_ptr
661
2
                                                ->template get_value<Impl::DataTypeA::PType>();
662
2
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
2
                                        right_tmp;
665
2
                                auto right_src =
666
2
                                        column_right_ptr
667
2
                                                ->template get_value<Impl::DataTypeB::PType>();
668
2
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
2
                                column_result = Impl::constant_constant(
670
2
                                        left_tmp, right_tmp, type_left, type_right,
671
2
                                        max_and_multiplier.first, max_and_multiplier.second,
672
2
                                        type_result, check_overflow_for_decimal);
673
2
                                return true;
674
2
                            })) {
675
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
0
                                    type_to_string(res_data_type->get_primitive_type()));
678
0
                }
679
2
            }
680
        } else {
681
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
        }
689
690
2
        return ColumnConst::create(std::move(column_result), column_left->size());
691
2
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
1
        ColumnPtr column_result = nullptr;
622
623
1
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
1
            } else {
652
1
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
1
                                         DataTypeDecimal256>(
654
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
1
                                        type_left, type_right, type_result);
657
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
1
                                        left_tmp;
659
1
                                auto left_src =
660
1
                                        column_left_ptr
661
1
                                                ->template get_value<Impl::DataTypeA::PType>();
662
1
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
1
                                        right_tmp;
665
1
                                auto right_src =
666
1
                                        column_right_ptr
667
1
                                                ->template get_value<Impl::DataTypeB::PType>();
668
1
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
1
                                column_result = Impl::constant_constant(
670
1
                                        left_tmp, right_tmp, type_left, type_right,
671
1
                                        max_and_multiplier.first, max_and_multiplier.second,
672
1
                                        type_result, check_overflow_for_decimal);
673
1
                                return true;
674
1
                            })) {
675
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
0
                                    type_to_string(res_data_type->get_primitive_type()));
678
0
                }
679
1
            }
680
        } else {
681
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
        }
689
690
1
        return ColumnConst::create(std::move(column_result), column_left->size());
691
1
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_3EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_4EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
2
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
2
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
2
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
2
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
2
        ColumnPtr column_result = nullptr;
622
623
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
            } else {
652
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
                                         DataTypeDecimal256>(
654
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
                                        type_left, type_right, type_result);
657
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
                                        left_tmp;
659
                                auto left_src =
660
                                        column_left_ptr
661
                                                ->template get_value<Impl::DataTypeA::PType>();
662
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
                                        right_tmp;
665
                                auto right_src =
666
                                        column_right_ptr
667
                                                ->template get_value<Impl::DataTypeB::PType>();
668
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
                                column_result = Impl::constant_constant(
670
                                        left_tmp, right_tmp, type_left, type_right,
671
                                        max_and_multiplier.first, max_and_multiplier.second,
672
                                        type_result, check_overflow_for_decimal);
673
                                return true;
674
                            })) {
675
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
                                    type_to_string(res_data_type->get_primitive_type()));
678
                }
679
            }
680
2
        } else {
681
2
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
2
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
2
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
2
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
2
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
2
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
2
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
2
        }
689
690
2
        return ColumnConst::create(std::move(column_result), column_left->size());
691
2
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_5EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
4
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
4
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
4
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
4
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
4
        ColumnPtr column_result = nullptr;
622
623
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
            } else {
652
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
                                         DataTypeDecimal256>(
654
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
                                        type_left, type_right, type_result);
657
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
                                        left_tmp;
659
                                auto left_src =
660
                                        column_left_ptr
661
                                                ->template get_value<Impl::DataTypeA::PType>();
662
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
                                        right_tmp;
665
                                auto right_src =
666
                                        column_right_ptr
667
                                                ->template get_value<Impl::DataTypeB::PType>();
668
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
                                column_result = Impl::constant_constant(
670
                                        left_tmp, right_tmp, type_left, type_right,
671
                                        max_and_multiplier.first, max_and_multiplier.second,
672
                                        type_result, check_overflow_for_decimal);
673
                                return true;
674
                            })) {
675
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
                                    type_to_string(res_data_type->get_primitive_type()));
678
                }
679
            }
680
4
        } else {
681
4
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
4
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
4
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
4
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
4
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
4
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
4
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
4
        }
689
690
4
        return ColumnConst::create(std::move(column_result), column_left->size());
691
4
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
4
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
4
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
4
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
4
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
4
        ColumnPtr column_result = nullptr;
622
623
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
            } else {
652
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
                                         DataTypeDecimal256>(
654
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
                                        type_left, type_right, type_result);
657
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
                                        left_tmp;
659
                                auto left_src =
660
                                        column_left_ptr
661
                                                ->template get_value<Impl::DataTypeA::PType>();
662
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
                                        right_tmp;
665
                                auto right_src =
666
                                        column_right_ptr
667
                                                ->template get_value<Impl::DataTypeB::PType>();
668
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
                                column_result = Impl::constant_constant(
670
                                        left_tmp, right_tmp, type_left, type_right,
671
                                        max_and_multiplier.first, max_and_multiplier.second,
672
                                        type_result, check_overflow_for_decimal);
673
                                return true;
674
                            })) {
675
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
                                    type_to_string(res_data_type->get_primitive_type()));
678
                }
679
            }
680
4
        } else {
681
4
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
4
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
4
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
4
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
4
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
4
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
4
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
4
        }
689
690
4
        return ColumnConst::create(std::move(column_result), column_left->size());
691
4
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_7EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
1
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
1
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
1
        ColumnPtr column_result = nullptr;
622
623
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
            } else {
652
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
                                         DataTypeDecimal256>(
654
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
                                        type_left, type_right, type_result);
657
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
                                        left_tmp;
659
                                auto left_src =
660
                                        column_left_ptr
661
                                                ->template get_value<Impl::DataTypeA::PType>();
662
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
                                        right_tmp;
665
                                auto right_src =
666
                                        column_right_ptr
667
                                                ->template get_value<Impl::DataTypeB::PType>();
668
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
                                column_result = Impl::constant_constant(
670
                                        left_tmp, right_tmp, type_left, type_right,
671
                                        max_and_multiplier.first, max_and_multiplier.second,
672
                                        type_result, check_overflow_for_decimal);
673
                                return true;
674
                            })) {
675
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
                                    type_to_string(res_data_type->get_primitive_type()));
678
                }
679
            }
680
1
        } else {
681
1
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
1
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
1
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
1
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
1
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
1
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
1
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
1
        }
689
690
1
        return ColumnConst::create(std::move(column_result), column_left->size());
691
1
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_8EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE17constant_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_9EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
616
4
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
4
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
4
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
4
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
4
        ColumnPtr column_result = nullptr;
622
623
        if constexpr (result_is_decimal) {
624
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
625
                if (!cast_type_to_either<DataTypeDecimalV2>(
626
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
627
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
628
                                        type_left, type_right, type_result);
629
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
630
                                        left_tmp;
631
                                auto left_src =
632
                                        column_left_ptr
633
                                                ->template get_value<Impl::DataTypeA::PType>();
634
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
635
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
636
                                        right_tmp;
637
                                auto right_src =
638
                                        column_right_ptr
639
                                                ->template get_value<Impl::DataTypeB::PType>();
640
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
641
                                column_result = Impl::constant_constant(
642
                                        left_tmp, right_tmp, type_left, type_right,
643
                                        max_and_multiplier.first, max_and_multiplier.second,
644
                                        type_result, check_overflow_for_decimal);
645
                                return true;
646
                            })) {
647
                    throw Exception(ErrorCode::INTERNAL_ERROR,
648
                                    "Wrong type. Expected: Decimal, Actually: {}",
649
                                    type_to_string(res_data_type->get_primitive_type()));
650
                }
651
            } else {
652
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
                                         DataTypeDecimal256>(
654
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
                                        type_left, type_right, type_result);
657
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
                                        left_tmp;
659
                                auto left_src =
660
                                        column_left_ptr
661
                                                ->template get_value<Impl::DataTypeA::PType>();
662
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
                                        right_tmp;
665
                                auto right_src =
666
                                        column_right_ptr
667
                                                ->template get_value<Impl::DataTypeB::PType>();
668
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
                                column_result = Impl::constant_constant(
670
                                        left_tmp, right_tmp, type_left, type_right,
671
                                        max_and_multiplier.first, max_and_multiplier.second,
672
                                        type_result, check_overflow_for_decimal);
673
                                return true;
674
                            })) {
675
                    throw Exception(ErrorCode::INTERNAL_ERROR,
676
                                    "Wrong type. Expected: Decimal, Actually: {}",
677
                                    type_to_string(res_data_type->get_primitive_type()));
678
                }
679
            }
680
4
        } else {
681
4
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
4
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
4
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
4
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
4
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
4
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
4
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
4
        }
689
690
4
        return ColumnConst::create(std::move(column_result), column_left->size());
691
4
    }
692
693
    ColumnPtr vector_constant(ColumnPtr column_left, ColumnPtr column_right,
694
                              const typename Impl::DataTypeA* type_left,
695
                              const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
696
10.0k
                              bool check_overflow_for_decimal) const {
697
10.0k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
10.0k
        DCHECK(column_right_ptr != nullptr);
699
700
10.0k
        ColumnPtr res = nullptr;
701
10.0k
        if constexpr (result_is_decimal) {
702
564
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
1
                                        type_left, type_right, type_result);
707
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
1
                                auto src = column_right_ptr
709
1
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
1
                                std::memcpy(&tmp, &src, sizeof(src));
711
1
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
1
                                                            type_right, max_and_multiplier.first,
713
1
                                                            max_and_multiplier.second, type_result,
714
1
                                                            check_overflow_for_decimal);
715
1
                                return true;
716
1
                            })) {
717
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
0
                                    type_to_string(res_data_type->get_primitive_type()));
720
0
                }
721
563
            } else {
722
563
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
563
                                         DataTypeDecimal256>(
724
563
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
563
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
563
                                        type_left, type_right, type_result);
727
563
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
563
                                auto src = column_right_ptr
729
563
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
563
                                std::memcpy(&tmp, &src, sizeof(src));
731
563
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
563
                                                            type_right, max_and_multiplier.first,
733
563
                                                            max_and_multiplier.second, type_result,
734
563
                                                            check_overflow_for_decimal);
735
563
                                return true;
736
563
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
724
12
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
12
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
12
                                        type_left, type_right, type_result);
727
12
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
12
                                auto src = column_right_ptr
729
12
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
12
                                std::memcpy(&tmp, &src, sizeof(src));
731
12
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
12
                                                            type_right, max_and_multiplier.first,
733
12
                                                            max_and_multiplier.second, type_result,
734
12
                                                            check_overflow_for_decimal);
735
12
                                return true;
736
12
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Line
Count
Source
724
22
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
22
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
22
                                        type_left, type_right, type_result);
727
22
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
22
                                auto src = column_right_ptr
729
22
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
22
                                std::memcpy(&tmp, &src, sizeof(src));
731
22
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
22
                                                            type_right, max_and_multiplier.first,
733
22
                                                            max_and_multiplier.second, type_result,
734
22
                                                            check_overflow_for_decimal);
735
22
                                return true;
736
22
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
724
66
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
66
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
66
                                        type_left, type_right, type_result);
727
66
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
66
                                auto src = column_right_ptr
729
66
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
66
                                std::memcpy(&tmp, &src, sizeof(src));
731
66
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
66
                                                            type_right, max_and_multiplier.first,
733
66
                                                            max_and_multiplier.second, type_result,
734
66
                                                            check_overflow_for_decimal);
735
66
                                return true;
736
66
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Line
Count
Source
724
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
2
                                        type_left, type_right, type_result);
727
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
2
                                auto src = column_right_ptr
729
2
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
2
                                std::memcpy(&tmp, &src, sizeof(src));
731
2
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
2
                                                            type_right, max_and_multiplier.first,
733
2
                                                            max_and_multiplier.second, type_result,
734
2
                                                            check_overflow_for_decimal);
735
2
                                return true;
736
2
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
724
457
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
457
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
457
                                        type_left, type_right, type_result);
727
457
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
457
                                auto src = column_right_ptr
729
457
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
457
                                std::memcpy(&tmp, &src, sizeof(src));
731
457
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
457
                                                            type_right, max_and_multiplier.first,
733
457
                                                            max_and_multiplier.second, type_result,
734
457
                                                            check_overflow_for_decimal);
735
457
                                return true;
736
457
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
724
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
2
                                        type_left, type_right, type_result);
727
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
2
                                auto src = column_right_ptr
729
2
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
2
                                std::memcpy(&tmp, &src, sizeof(src));
731
2
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
2
                                                            type_right, max_and_multiplier.first,
733
2
                                                            max_and_multiplier.second, type_result,
734
2
                                                            check_overflow_for_decimal);
735
2
                                return true;
736
2
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
724
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
2
                                        type_left, type_right, type_result);
727
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
2
                                auto src = column_right_ptr
729
2
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
2
                                std::memcpy(&tmp, &src, sizeof(src));
731
2
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
2
                                                            type_right, max_and_multiplier.first,
733
2
                                                            max_and_multiplier.second, type_result,
734
2
                                                            check_overflow_for_decimal);
735
2
                                return true;
736
2
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
563
            }
742
9.47k
        } else {
743
9.47k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
9.47k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
9.47k
            std::memcpy(&tmp, &src, sizeof(src));
746
9.47k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
9.47k
        }
748
564
        return res;
749
10.0k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_20EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
1
                              bool check_overflow_for_decimal) const {
697
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
1
        DCHECK(column_right_ptr != nullptr);
699
700
1
        ColumnPtr res = nullptr;
701
1
        if constexpr (result_is_decimal) {
702
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
1
                                        type_left, type_right, type_result);
707
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
1
                                auto src = column_right_ptr
709
1
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
1
                                std::memcpy(&tmp, &src, sizeof(src));
711
1
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
1
                                                            type_right, max_and_multiplier.first,
713
1
                                                            max_and_multiplier.second, type_result,
714
1
                                                            check_overflow_for_decimal);
715
1
                                return true;
716
1
                            })) {
717
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
0
                                    type_to_string(res_data_type->get_primitive_type()));
720
0
                }
721
            } else {
722
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
                                         DataTypeDecimal256>(
724
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
                                        type_left, type_right, type_result);
727
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
                                auto src = column_right_ptr
729
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
                                std::memcpy(&tmp, &src, sizeof(src));
731
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
                                                            type_right, max_and_multiplier.first,
733
                                                            max_and_multiplier.second, type_result,
734
                                                            check_overflow_for_decimal);
735
                                return true;
736
                            })) {
737
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
                                    type_to_string(res_data_type->get_primitive_type()));
740
                }
741
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
1
        return res;
749
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
34
                              bool check_overflow_for_decimal) const {
697
34
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
34
        DCHECK(column_right_ptr != nullptr);
699
700
34
        ColumnPtr res = nullptr;
701
34
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
34
            } else {
722
34
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
34
                                         DataTypeDecimal256>(
724
34
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
34
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
34
                                        type_left, type_right, type_result);
727
34
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
34
                                auto src = column_right_ptr
729
34
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
34
                                std::memcpy(&tmp, &src, sizeof(src));
731
34
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
34
                                                            type_right, max_and_multiplier.first,
733
34
                                                            max_and_multiplier.second, type_result,
734
34
                                                            check_overflow_for_decimal);
735
34
                                return true;
736
34
                            })) {
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
34
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
34
        return res;
749
34
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
66
                              bool check_overflow_for_decimal) const {
697
66
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
66
        DCHECK(column_right_ptr != nullptr);
699
700
66
        ColumnPtr res = nullptr;
701
66
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
66
            } else {
722
66
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
66
                                         DataTypeDecimal256>(
724
66
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
66
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
66
                                        type_left, type_right, type_result);
727
66
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
66
                                auto src = column_right_ptr
729
66
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
66
                                std::memcpy(&tmp, &src, sizeof(src));
731
66
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
66
                                                            type_right, max_and_multiplier.first,
733
66
                                                            max_and_multiplier.second, type_result,
734
66
                                                            check_overflow_for_decimal);
735
66
                                return true;
736
66
                            })) {
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
66
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
66
        return res;
749
66
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
2
                              bool check_overflow_for_decimal) const {
697
2
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
2
        DCHECK(column_right_ptr != nullptr);
699
700
2
        ColumnPtr res = nullptr;
701
2
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
2
            } else {
722
2
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
2
                                         DataTypeDecimal256>(
724
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
2
                                        type_left, type_right, type_result);
727
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
2
                                auto src = column_right_ptr
729
2
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
2
                                std::memcpy(&tmp, &src, sizeof(src));
731
2
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
2
                                                            type_right, max_and_multiplier.first,
733
2
                                                            max_and_multiplier.second, type_result,
734
2
                                                            check_overflow_for_decimal);
735
2
                                return true;
736
2
                            })) {
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
2
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
2
        return res;
749
2
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
457
                              bool check_overflow_for_decimal) const {
697
457
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
457
        DCHECK(column_right_ptr != nullptr);
699
700
457
        ColumnPtr res = nullptr;
701
457
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
457
            } else {
722
457
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
457
                                         DataTypeDecimal256>(
724
457
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
457
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
457
                                        type_left, type_right, type_result);
727
457
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
457
                                auto src = column_right_ptr
729
457
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
457
                                std::memcpy(&tmp, &src, sizeof(src));
731
457
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
457
                                                            type_right, max_and_multiplier.first,
733
457
                                                            max_and_multiplier.second, type_result,
734
457
                                                            check_overflow_for_decimal);
735
457
                                return true;
736
457
                            })) {
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
457
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
457
        return res;
749
457
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
2
                              bool check_overflow_for_decimal) const {
697
2
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
2
        DCHECK(column_right_ptr != nullptr);
699
700
2
        ColumnPtr res = nullptr;
701
2
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
2
            } else {
722
2
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
2
                                         DataTypeDecimal256>(
724
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
2
                                        type_left, type_right, type_result);
727
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
2
                                auto src = column_right_ptr
729
2
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
2
                                std::memcpy(&tmp, &src, sizeof(src));
731
2
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
2
                                                            type_right, max_and_multiplier.first,
733
2
                                                            max_and_multiplier.second, type_result,
734
2
                                                            check_overflow_for_decimal);
735
2
                                return true;
736
2
                            })) {
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
2
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
2
        return res;
749
2
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
2
                              bool check_overflow_for_decimal) const {
697
2
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
2
        DCHECK(column_right_ptr != nullptr);
699
700
2
        ColumnPtr res = nullptr;
701
2
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
2
            } else {
722
2
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
2
                                         DataTypeDecimal256>(
724
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
2
                                        type_left, type_right, type_result);
727
2
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
2
                                auto src = column_right_ptr
729
2
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
2
                                std::memcpy(&tmp, &src, sizeof(src));
731
2
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
2
                                                            type_right, max_and_multiplier.first,
733
2
                                                            max_and_multiplier.second, type_result,
734
2
                                                            check_overflow_for_decimal);
735
2
                                return true;
736
2
                            })) {
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
2
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
2
        return res;
749
2
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_3EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_4EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_5EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
9.24k
                              bool check_overflow_for_decimal) const {
697
9.24k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
9.24k
        DCHECK(column_right_ptr != nullptr);
699
700
9.24k
        ColumnPtr res = nullptr;
701
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
            } else {
722
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
                                         DataTypeDecimal256>(
724
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
                                        type_left, type_right, type_result);
727
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
                                auto src = column_right_ptr
729
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
                                std::memcpy(&tmp, &src, sizeof(src));
731
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
                                                            type_right, max_and_multiplier.first,
733
                                                            max_and_multiplier.second, type_result,
734
                                                            check_overflow_for_decimal);
735
                                return true;
736
                            })) {
737
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
                                    type_to_string(res_data_type->get_primitive_type()));
740
                }
741
            }
742
9.24k
        } else {
743
9.24k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
9.24k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
9.24k
            std::memcpy(&tmp, &src, sizeof(src));
746
9.24k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
9.24k
        }
748
9.24k
        return res;
749
9.24k
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_7EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
6
                              bool check_overflow_for_decimal) const {
697
6
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
6
        DCHECK(column_right_ptr != nullptr);
699
700
6
        ColumnPtr res = nullptr;
701
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
            } else {
722
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
                                         DataTypeDecimal256>(
724
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
                                        type_left, type_right, type_result);
727
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
                                auto src = column_right_ptr
729
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
                                std::memcpy(&tmp, &src, sizeof(src));
731
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
                                                            type_right, max_and_multiplier.first,
733
                                                            max_and_multiplier.second, type_result,
734
                                                            check_overflow_for_decimal);
735
                                return true;
736
                            })) {
737
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
                                    type_to_string(res_data_type->get_primitive_type()));
740
                }
741
            }
742
6
        } else {
743
6
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
6
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
6
            std::memcpy(&tmp, &src, sizeof(src));
746
6
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
6
        }
748
6
        return res;
749
6
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_8EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_9EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
216
                              bool check_overflow_for_decimal) const {
697
216
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
216
        DCHECK(column_right_ptr != nullptr);
699
700
216
        ColumnPtr res = nullptr;
701
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
            } else {
722
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
                                         DataTypeDecimal256>(
724
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
                                        type_left, type_right, type_result);
727
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
                                auto src = column_right_ptr
729
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
                                std::memcpy(&tmp, &src, sizeof(src));
731
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
                                                            type_right, max_and_multiplier.first,
733
                                                            max_and_multiplier.second, type_result,
734
                                                            check_overflow_for_decimal);
735
                                return true;
736
                            })) {
737
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
                                    type_to_string(res_data_type->get_primitive_type()));
740
                }
741
            }
742
216
        } else {
743
216
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
216
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
216
            std::memcpy(&tmp, &src, sizeof(src));
746
216
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
216
        }
748
216
        return res;
749
216
    }
750
751
    ColumnPtr constant_vector(ColumnPtr column_left, ColumnPtr column_right,
752
                              const typename Impl::DataTypeA* type_left,
753
                              const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
754
176
                              bool check_overflow_for_decimal) const {
755
176
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
176
        DCHECK(column_left_ptr != nullptr);
757
758
176
        ColumnPtr res = nullptr;
759
176
        if constexpr (result_is_decimal) {
760
176
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
761
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
762
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
763
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
764
1
                                        type_left, type_right, type_result);
765
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
766
1
                                auto src = column_left_ptr
767
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
768
1
                                std::memcpy(&tmp, &src, sizeof(src));
769
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
770
1
                                                            type_right, max_and_multiplier.first,
771
1
                                                            max_and_multiplier.second, type_result,
772
1
                                                            check_overflow_for_decimal);
773
1
                                return true;
774
1
                            })) {
775
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
776
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
777
0
                                    type_to_string(res_data_type->get_primitive_type()));
778
0
                }
779
175
            } else {
780
175
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
175
                                         DataTypeDecimal256>(
782
175
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
175
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
175
                                        type_left, type_right, type_result);
785
175
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
175
                                auto src = column_left_ptr
787
175
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
175
                                std::memcpy(&tmp, &src, sizeof(src));
789
175
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
175
                                                            type_right, max_and_multiplier.first,
791
175
                                                            max_and_multiplier.second, type_result,
792
175
                                                            check_overflow_for_decimal);
793
175
                                return true;
794
175
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Line
Count
Source
782
5
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
5
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
5
                                        type_left, type_right, type_result);
785
5
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
5
                                auto src = column_left_ptr
787
5
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
5
                                std::memcpy(&tmp, &src, sizeof(src));
789
5
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
5
                                                            type_right, max_and_multiplier.first,
791
5
                                                            max_and_multiplier.second, type_result,
792
5
                                                            check_overflow_for_decimal);
793
5
                                return true;
794
5
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Line
Count
Source
782
162
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
162
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
162
                                        type_left, type_right, type_result);
785
162
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
162
                                auto src = column_left_ptr
787
162
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
162
                                std::memcpy(&tmp, &src, sizeof(src));
789
162
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
162
                                                            type_right, max_and_multiplier.first,
791
162
                                                            max_and_multiplier.second, type_result,
792
162
                                                            check_overflow_for_decimal);
793
162
                                return true;
794
162
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Line
Count
Source
782
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
4
                                        type_left, type_right, type_result);
785
4
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
4
                                auto src = column_left_ptr
787
4
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
4
                                std::memcpy(&tmp, &src, sizeof(src));
789
4
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
4
                                                            type_right, max_and_multiplier.first,
791
4
                                                            max_and_multiplier.second, type_result,
792
4
                                                            check_overflow_for_decimal);
793
4
                                return true;
794
4
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Line
Count
Source
782
3
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
3
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
3
                                        type_left, type_right, type_result);
785
3
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
3
                                auto src = column_left_ptr
787
3
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
3
                                std::memcpy(&tmp, &src, sizeof(src));
789
3
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
3
                                                            type_right, max_and_multiplier.first,
791
3
                                                            max_and_multiplier.second, type_result,
792
3
                                                            check_overflow_for_decimal);
793
3
                                return true;
794
3
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Line
Count
Source
782
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
1
                                        type_left, type_right, type_result);
785
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
1
                                auto src = column_left_ptr
787
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
1
                                std::memcpy(&tmp, &src, sizeof(src));
789
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
1
                                                            type_right, max_and_multiplier.first,
791
1
                                                            max_and_multiplier.second, type_result,
792
1
                                                            check_overflow_for_decimal);
793
1
                                return true;
794
1
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
795
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
796
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
797
0
                                    type_to_string(res_data_type->get_primitive_type()));
798
0
                }
799
175
            }
800
176
        } else {
801
0
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
0
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
0
            std::memcpy(&tmp, &src, sizeof(src));
804
0
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
0
        }
806
176
        return res;
807
176
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_20EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
1
                              bool check_overflow_for_decimal) const {
755
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
1
        DCHECK(column_left_ptr != nullptr);
757
758
1
        ColumnPtr res = nullptr;
759
1
        if constexpr (result_is_decimal) {
760
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
761
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
762
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
763
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
764
1
                                        type_left, type_right, type_result);
765
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
766
1
                                auto src = column_left_ptr
767
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
768
1
                                std::memcpy(&tmp, &src, sizeof(src));
769
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
770
1
                                                            type_right, max_and_multiplier.first,
771
1
                                                            max_and_multiplier.second, type_result,
772
1
                                                            check_overflow_for_decimal);
773
1
                                return true;
774
1
                            })) {
775
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
776
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
777
0
                                    type_to_string(res_data_type->get_primitive_type()));
778
0
                }
779
            } else {
780
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
                                         DataTypeDecimal256>(
782
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
                                        type_left, type_right, type_result);
785
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
                                auto src = column_left_ptr
787
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
                                std::memcpy(&tmp, &src, sizeof(src));
789
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
                                                            type_right, max_and_multiplier.first,
791
                                                            max_and_multiplier.second, type_result,
792
                                                            check_overflow_for_decimal);
793
                                return true;
794
                            })) {
795
                    throw Exception(ErrorCode::INTERNAL_ERROR,
796
                                    "Wrong type. Expected: Decimal, Actually: {}",
797
                                    type_to_string(res_data_type->get_primitive_type()));
798
                }
799
            }
800
        } else {
801
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
            std::memcpy(&tmp, &src, sizeof(src));
804
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
        }
806
1
        return res;
807
1
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
5
                              bool check_overflow_for_decimal) const {
755
5
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
5
        DCHECK(column_left_ptr != nullptr);
757
758
5
        ColumnPtr res = nullptr;
759
5
        if constexpr (result_is_decimal) {
760
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
761
                if (!cast_type_to_either<DataTypeDecimalV2>(
762
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
763
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
764
                                        type_left, type_right, type_result);
765
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
766
                                auto src = column_left_ptr
767
                                                   ->template get_value<Impl::DataTypeA::PType>();
768
                                std::memcpy(&tmp, &src, sizeof(src));
769
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
770
                                                            type_right, max_and_multiplier.first,
771
                                                            max_and_multiplier.second, type_result,
772
                                                            check_overflow_for_decimal);
773
                                return true;
774
                            })) {
775
                    throw Exception(ErrorCode::INTERNAL_ERROR,
776
                                    "Wrong type. Expected: Decimal, Actually: {}",
777
                                    type_to_string(res_data_type->get_primitive_type()));
778
                }
779
5
            } else {
780
5
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
5
                                         DataTypeDecimal256>(
782
5
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
5
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
5
                                        type_left, type_right, type_result);
785
5
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
5
                                auto src = column_left_ptr
787
5
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
5
                                std::memcpy(&tmp, &src, sizeof(src));
789
5
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
5
                                                            type_right, max_and_multiplier.first,
791
5
                                                            max_and_multiplier.second, type_result,
792
5
                                                            check_overflow_for_decimal);
793
5
                                return true;
794
5
                            })) {
795
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
796
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
797
0
                                    type_to_string(res_data_type->get_primitive_type()));
798
0
                }
799
5
            }
800
        } else {
801
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
            std::memcpy(&tmp, &src, sizeof(src));
804
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
        }
806
5
        return res;
807
5
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
162
                              bool check_overflow_for_decimal) const {
755
162
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
162
        DCHECK(column_left_ptr != nullptr);
757
758
162
        ColumnPtr res = nullptr;
759
162
        if constexpr (result_is_decimal) {
760
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
761
                if (!cast_type_to_either<DataTypeDecimalV2>(
762
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
763
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
764
                                        type_left, type_right, type_result);
765
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
766
                                auto src = column_left_ptr
767
                                                   ->template get_value<Impl::DataTypeA::PType>();
768
                                std::memcpy(&tmp, &src, sizeof(src));
769
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
770
                                                            type_right, max_and_multiplier.first,
771
                                                            max_and_multiplier.second, type_result,
772
                                                            check_overflow_for_decimal);
773
                                return true;
774
                            })) {
775
                    throw Exception(ErrorCode::INTERNAL_ERROR,
776
                                    "Wrong type. Expected: Decimal, Actually: {}",
777
                                    type_to_string(res_data_type->get_primitive_type()));
778
                }
779
162
            } else {
780
162
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
162
                                         DataTypeDecimal256>(
782
162
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
162
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
162
                                        type_left, type_right, type_result);
785
162
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
162
                                auto src = column_left_ptr
787
162
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
162
                                std::memcpy(&tmp, &src, sizeof(src));
789
162
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
162
                                                            type_right, max_and_multiplier.first,
791
162
                                                            max_and_multiplier.second, type_result,
792
162
                                                            check_overflow_for_decimal);
793
162
                                return true;
794
162
                            })) {
795
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
796
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
797
0
                                    type_to_string(res_data_type->get_primitive_type()));
798
0
                }
799
162
            }
800
        } else {
801
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
            std::memcpy(&tmp, &src, sizeof(src));
804
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
        }
806
162
        return res;
807
162
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
4
                              bool check_overflow_for_decimal) const {
755
4
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
4
        DCHECK(column_left_ptr != nullptr);
757
758
4
        ColumnPtr res = nullptr;
759
4
        if constexpr (result_is_decimal) {
760
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
761
                if (!cast_type_to_either<DataTypeDecimalV2>(
762
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
763
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
764
                                        type_left, type_right, type_result);
765
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
766
                                auto src = column_left_ptr
767
                                                   ->template get_value<Impl::DataTypeA::PType>();
768
                                std::memcpy(&tmp, &src, sizeof(src));
769
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
770
                                                            type_right, max_and_multiplier.first,
771
                                                            max_and_multiplier.second, type_result,
772
                                                            check_overflow_for_decimal);
773
                                return true;
774
                            })) {
775
                    throw Exception(ErrorCode::INTERNAL_ERROR,
776
                                    "Wrong type. Expected: Decimal, Actually: {}",
777
                                    type_to_string(res_data_type->get_primitive_type()));
778
                }
779
4
            } else {
780
4
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
4
                                         DataTypeDecimal256>(
782
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
4
                                        type_left, type_right, type_result);
785
4
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
4
                                auto src = column_left_ptr
787
4
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
4
                                std::memcpy(&tmp, &src, sizeof(src));
789
4
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
4
                                                            type_right, max_and_multiplier.first,
791
4
                                                            max_and_multiplier.second, type_result,
792
4
                                                            check_overflow_for_decimal);
793
4
                                return true;
794
4
                            })) {
795
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
796
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
797
0
                                    type_to_string(res_data_type->get_primitive_type()));
798
0
                }
799
4
            }
800
        } else {
801
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
            std::memcpy(&tmp, &src, sizeof(src));
804
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
        }
806
4
        return res;
807
4
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
3
                              bool check_overflow_for_decimal) const {
755
3
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
3
        DCHECK(column_left_ptr != nullptr);
757
758
3
        ColumnPtr res = nullptr;
759
3
        if constexpr (result_is_decimal) {
760
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
761
                if (!cast_type_to_either<DataTypeDecimalV2>(
762
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
763
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
764
                                        type_left, type_right, type_result);
765
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
766
                                auto src = column_left_ptr
767
                                                   ->template get_value<Impl::DataTypeA::PType>();
768
                                std::memcpy(&tmp, &src, sizeof(src));
769
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
770
                                                            type_right, max_and_multiplier.first,
771
                                                            max_and_multiplier.second, type_result,
772
                                                            check_overflow_for_decimal);
773
                                return true;
774
                            })) {
775
                    throw Exception(ErrorCode::INTERNAL_ERROR,
776
                                    "Wrong type. Expected: Decimal, Actually: {}",
777
                                    type_to_string(res_data_type->get_primitive_type()));
778
                }
779
3
            } else {
780
3
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
3
                                         DataTypeDecimal256>(
782
3
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
3
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
3
                                        type_left, type_right, type_result);
785
3
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
3
                                auto src = column_left_ptr
787
3
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
3
                                std::memcpy(&tmp, &src, sizeof(src));
789
3
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
3
                                                            type_right, max_and_multiplier.first,
791
3
                                                            max_and_multiplier.second, type_result,
792
3
                                                            check_overflow_for_decimal);
793
3
                                return true;
794
3
                            })) {
795
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
796
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
797
0
                                    type_to_string(res_data_type->get_primitive_type()));
798
0
                }
799
3
            }
800
        } else {
801
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
            std::memcpy(&tmp, &src, sizeof(src));
804
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
        }
806
3
        return res;
807
3
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
1
                              bool check_overflow_for_decimal) const {
755
1
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
1
        DCHECK(column_left_ptr != nullptr);
757
758
1
        ColumnPtr res = nullptr;
759
1
        if constexpr (result_is_decimal) {
760
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
761
                if (!cast_type_to_either<DataTypeDecimalV2>(
762
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
763
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
764
                                        type_left, type_right, type_result);
765
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
766
                                auto src = column_left_ptr
767
                                                   ->template get_value<Impl::DataTypeA::PType>();
768
                                std::memcpy(&tmp, &src, sizeof(src));
769
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
770
                                                            type_right, max_and_multiplier.first,
771
                                                            max_and_multiplier.second, type_result,
772
                                                            check_overflow_for_decimal);
773
                                return true;
774
                            })) {
775
                    throw Exception(ErrorCode::INTERNAL_ERROR,
776
                                    "Wrong type. Expected: Decimal, Actually: {}",
777
                                    type_to_string(res_data_type->get_primitive_type()));
778
                }
779
1
            } else {
780
1
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
1
                                         DataTypeDecimal256>(
782
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
1
                                        type_left, type_right, type_result);
785
1
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
1
                                auto src = column_left_ptr
787
1
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
1
                                std::memcpy(&tmp, &src, sizeof(src));
789
1
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
1
                                                            type_right, max_and_multiplier.first,
791
1
                                                            max_and_multiplier.second, type_result,
792
1
                                                            check_overflow_for_decimal);
793
1
                                return true;
794
1
                            })) {
795
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
796
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
797
0
                                    type_to_string(res_data_type->get_primitive_type()));
798
0
                }
799
1
            }
800
        } else {
801
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
            std::memcpy(&tmp, &src, sizeof(src));
804
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
        }
806
1
        return res;
807
1
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_3EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_4EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_5EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_7EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_8EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_9EEESD_St10shared_ptrIKNS_9IDataTypeEEb
808
809
    ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right,
810
                            const typename Impl::DataTypeA* type_left,
811
                            const typename Impl::DataTypeB* type_right, DataTypePtr res_data_type,
812
9.42k
                            bool check_overflow_for_decimal) const {
813
9.42k
        ColumnPtr res = nullptr;
814
9.42k
        if constexpr (result_is_decimal) {
815
3.86k
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
154
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
154
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
154
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
154
                                        type_left, type_right, type_result);
820
154
                                res = Impl::vector_vector(column_left->get_ptr(),
821
154
                                                          column_right->get_ptr(), type_left,
822
154
                                                          type_right, max_and_multiplier.first,
823
154
                                                          max_and_multiplier.second, type_result,
824
154
                                                          check_overflow_for_decimal);
825
154
                                return true;
826
154
                            })) {
827
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
0
                                    type_to_string(res_data_type->get_primitive_type()));
830
0
                }
831
3.71k
            } else {
832
3.71k
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
3.71k
                                         DataTypeDecimal256>(
834
3.71k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
3.70k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
3.70k
                                        type_left, type_right, type_result);
837
3.70k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
3.70k
                                                          column_right->get_ptr(), type_left,
839
3.70k
                                                          type_right, max_and_multiplier.first,
840
3.70k
                                                          max_and_multiplier.second, type_result,
841
3.70k
                                                          check_overflow_for_decimal);
842
3.70k
                                return true;
843
3.70k
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
834
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2
                                        type_left, type_right, type_result);
837
2
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2
                                                          column_right->get_ptr(), type_left,
839
2
                                                          type_right, max_and_multiplier.first,
840
2
                                                          max_and_multiplier.second, type_result,
841
2
                                                          check_overflow_for_decimal);
842
2
                                return true;
843
2
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Line
Count
Source
834
26
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
26
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
26
                                        type_left, type_right, type_result);
837
26
                                res = Impl::vector_vector(column_left->get_ptr(),
838
26
                                                          column_right->get_ptr(), type_left,
839
26
                                                          type_right, max_and_multiplier.first,
840
26
                                                          max_and_multiplier.second, type_result,
841
26
                                                          check_overflow_for_decimal);
842
26
                                return true;
843
26
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Line
Count
Source
834
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2
                                        type_left, type_right, type_result);
837
2
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2
                                                          column_right->get_ptr(), type_left,
839
2
                                                          type_right, max_and_multiplier.first,
840
2
                                                          max_and_multiplier.second, type_result,
841
2
                                                          check_overflow_for_decimal);
842
2
                                return true;
843
2
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Line
Count
Source
834
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
4
                                        type_left, type_right, type_result);
837
4
                                res = Impl::vector_vector(column_left->get_ptr(),
838
4
                                                          column_right->get_ptr(), type_left,
839
4
                                                          type_right, max_and_multiplier.first,
840
4
                                                          max_and_multiplier.second, type_result,
841
4
                                                          check_overflow_for_decimal);
842
4
                                return true;
843
4
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Line
Count
Source
834
45
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
45
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
45
                                        type_left, type_right, type_result);
837
45
                                res = Impl::vector_vector(column_left->get_ptr(),
838
45
                                                          column_right->get_ptr(), type_left,
839
45
                                                          type_right, max_and_multiplier.first,
840
45
                                                          max_and_multiplier.second, type_result,
841
45
                                                          check_overflow_for_decimal);
842
45
                                return true;
843
45
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Line
Count
Source
834
3
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
3
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
3
                                        type_left, type_right, type_result);
837
3
                                res = Impl::vector_vector(column_left->get_ptr(),
838
3
                                                          column_right->get_ptr(), type_left,
839
3
                                                          type_right, max_and_multiplier.first,
840
3
                                                          max_and_multiplier.second, type_result,
841
3
                                                          check_overflow_for_decimal);
842
3
                                return true;
843
3
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
834
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
1
                                        type_left, type_right, type_result);
837
1
                                res = Impl::vector_vector(column_left->get_ptr(),
838
1
                                                          column_right->get_ptr(), type_left,
839
1
                                                          type_right, max_and_multiplier.first,
840
1
                                                          max_and_multiplier.second, type_result,
841
1
                                                          check_overflow_for_decimal);
842
1
                                return true;
843
1
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Line
Count
Source
834
5
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
5
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
5
                                        type_left, type_right, type_result);
837
5
                                res = Impl::vector_vector(column_left->get_ptr(),
838
5
                                                          column_right->get_ptr(), type_left,
839
5
                                                          type_right, max_and_multiplier.first,
840
5
                                                          max_and_multiplier.second, type_result,
841
5
                                                          check_overflow_for_decimal);
842
5
                                return true;
843
5
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Line
Count
Source
834
2.86k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2.86k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2.86k
                                        type_left, type_right, type_result);
837
2.86k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2.86k
                                                          column_right->get_ptr(), type_left,
839
2.86k
                                                          type_right, max_and_multiplier.first,
840
2.86k
                                                          max_and_multiplier.second, type_result,
841
2.86k
                                                          check_overflow_for_decimal);
842
2.86k
                                return true;
843
2.86k
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Line
Count
Source
834
8
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
8
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
8
                                        type_left, type_right, type_result);
837
8
                                res = Impl::vector_vector(column_left->get_ptr(),
838
8
                                                          column_right->get_ptr(), type_left,
839
8
                                                          type_right, max_and_multiplier.first,
840
8
                                                          max_and_multiplier.second, type_result,
841
8
                                                          check_overflow_for_decimal);
842
8
                                return true;
843
8
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Line
Count
Source
834
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2
                                        type_left, type_right, type_result);
837
2
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2
                                                          column_right->get_ptr(), type_left,
839
2
                                                          type_right, max_and_multiplier.first,
840
2
                                                          max_and_multiplier.second, type_result,
841
2
                                                          check_overflow_for_decimal);
842
2
                                return true;
843
2
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
834
56
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
56
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
56
                                        type_left, type_right, type_result);
837
56
                                res = Impl::vector_vector(column_left->get_ptr(),
838
56
                                                          column_right->get_ptr(), type_left,
839
56
                                                          type_right, max_and_multiplier.first,
840
56
                                                          max_and_multiplier.second, type_result,
841
56
                                                          check_overflow_for_decimal);
842
56
                                return true;
843
56
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
834
469
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
469
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
469
                                        type_left, type_right, type_result);
837
469
                                res = Impl::vector_vector(column_left->get_ptr(),
838
469
                                                          column_right->get_ptr(), type_left,
839
469
                                                          type_right, max_and_multiplier.first,
840
469
                                                          max_and_multiplier.second, type_result,
841
469
                                                          check_overflow_for_decimal);
842
469
                                return true;
843
469
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
834
93
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
93
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
93
                                        type_left, type_right, type_result);
837
93
                                res = Impl::vector_vector(column_left->get_ptr(),
838
93
                                                          column_right->get_ptr(), type_left,
839
93
                                                          type_right, max_and_multiplier.first,
840
93
                                                          max_and_multiplier.second, type_result,
841
93
                                                          check_overflow_for_decimal);
842
93
                                return true;
843
93
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Line
Count
Source
834
66
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
66
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
66
                                        type_left, type_right, type_result);
837
66
                                res = Impl::vector_vector(column_left->get_ptr(),
838
66
                                                          column_right->get_ptr(), type_left,
839
66
                                                          type_right, max_and_multiplier.first,
840
66
                                                          max_and_multiplier.second, type_result,
841
66
                                                          check_overflow_for_decimal);
842
66
                                return true;
843
66
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
834
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
4
                                        type_left, type_right, type_result);
837
4
                                res = Impl::vector_vector(column_left->get_ptr(),
838
4
                                                          column_right->get_ptr(), type_left,
839
4
                                                          type_right, max_and_multiplier.first,
840
4
                                                          max_and_multiplier.second, type_result,
841
4
                                                          check_overflow_for_decimal);
842
4
                                return true;
843
4
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
834
43
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
43
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
43
                                        type_left, type_right, type_result);
837
43
                                res = Impl::vector_vector(column_left->get_ptr(),
838
43
                                                          column_right->get_ptr(), type_left,
839
43
                                                          type_right, max_and_multiplier.first,
840
43
                                                          max_and_multiplier.second, type_result,
841
43
                                                          check_overflow_for_decimal);
842
43
                                return true;
843
43
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
834
11
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
11
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
11
                                        type_left, type_right, type_result);
837
11
                                res = Impl::vector_vector(column_left->get_ptr(),
838
11
                                                          column_right->get_ptr(), type_left,
839
11
                                                          type_right, max_and_multiplier.first,
840
11
                                                          max_and_multiplier.second, type_result,
841
11
                                                          check_overflow_for_decimal);
842
11
                                return true;
843
11
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
3.71k
            }
849
5.55k
        } else {
850
5.55k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
5.55k
        }
852
3.86k
        return res;
853
9.42k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_20EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
154
                            bool check_overflow_for_decimal) const {
813
154
        ColumnPtr res = nullptr;
814
154
        if constexpr (result_is_decimal) {
815
154
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
154
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
154
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
154
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
154
                                        type_left, type_right, type_result);
820
154
                                res = Impl::vector_vector(column_left->get_ptr(),
821
154
                                                          column_right->get_ptr(), type_left,
822
154
                                                          type_right, max_and_multiplier.first,
823
154
                                                          max_and_multiplier.second, type_result,
824
154
                                                          check_overflow_for_decimal);
825
154
                                return true;
826
154
                            })) {
827
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
0
                                    type_to_string(res_data_type->get_primitive_type()));
830
0
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
154
        return res;
853
154
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
28
                            bool check_overflow_for_decimal) const {
813
28
        ColumnPtr res = nullptr;
814
28
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
28
            } else {
832
28
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
28
                                         DataTypeDecimal256>(
834
28
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
28
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
28
                                        type_left, type_right, type_result);
837
28
                                res = Impl::vector_vector(column_left->get_ptr(),
838
28
                                                          column_right->get_ptr(), type_left,
839
28
                                                          type_right, max_and_multiplier.first,
840
28
                                                          max_and_multiplier.second, type_result,
841
28
                                                          check_overflow_for_decimal);
842
28
                                return true;
843
28
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
28
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
28
        return res;
853
28
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
6
                            bool check_overflow_for_decimal) const {
813
6
        ColumnPtr res = nullptr;
814
6
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
6
            } else {
832
6
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
6
                                         DataTypeDecimal256>(
834
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
6
                                        type_left, type_right, type_result);
837
6
                                res = Impl::vector_vector(column_left->get_ptr(),
838
6
                                                          column_right->get_ptr(), type_left,
839
6
                                                          type_right, max_and_multiplier.first,
840
6
                                                          max_and_multiplier.second, type_result,
841
6
                                                          check_overflow_for_decimal);
842
6
                                return true;
843
6
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
6
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
6
        return res;
853
6
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
48
                            bool check_overflow_for_decimal) const {
813
48
        ColumnPtr res = nullptr;
814
48
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
48
            } else {
832
48
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
48
                                         DataTypeDecimal256>(
834
48
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
48
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
48
                                        type_left, type_right, type_result);
837
48
                                res = Impl::vector_vector(column_left->get_ptr(),
838
48
                                                          column_right->get_ptr(), type_left,
839
48
                                                          type_right, max_and_multiplier.first,
840
48
                                                          max_and_multiplier.second, type_result,
841
48
                                                          check_overflow_for_decimal);
842
48
                                return true;
843
48
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
48
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
48
        return res;
853
48
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
6
                            bool check_overflow_for_decimal) const {
813
6
        ColumnPtr res = nullptr;
814
6
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
6
            } else {
832
6
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
6
                                         DataTypeDecimal256>(
834
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
6
                                        type_left, type_right, type_result);
837
6
                                res = Impl::vector_vector(column_left->get_ptr(),
838
6
                                                          column_right->get_ptr(), type_left,
839
6
                                                          type_right, max_and_multiplier.first,
840
6
                                                          max_and_multiplier.second, type_result,
841
6
                                                          check_overflow_for_decimal);
842
6
                                return true;
843
6
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
6
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
6
        return res;
853
6
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
2.87k
                            bool check_overflow_for_decimal) const {
813
2.87k
        ColumnPtr res = nullptr;
814
2.87k
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
2.87k
            } else {
832
2.87k
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
2.87k
                                         DataTypeDecimal256>(
834
2.87k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2.87k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2.87k
                                        type_left, type_right, type_result);
837
2.87k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2.87k
                                                          column_right->get_ptr(), type_left,
839
2.87k
                                                          type_right, max_and_multiplier.first,
840
2.87k
                                                          max_and_multiplier.second, type_result,
841
2.87k
                                                          check_overflow_for_decimal);
842
2.87k
                                return true;
843
2.87k
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
2.87k
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
2.87k
        return res;
853
2.87k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
10
                            bool check_overflow_for_decimal) const {
813
10
        ColumnPtr res = nullptr;
814
10
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
10
            } else {
832
10
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
10
                                         DataTypeDecimal256>(
834
10
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
10
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
10
                                        type_left, type_right, type_result);
837
10
                                res = Impl::vector_vector(column_left->get_ptr(),
838
10
                                                          column_right->get_ptr(), type_left,
839
10
                                                          type_right, max_and_multiplier.first,
840
10
                                                          max_and_multiplier.second, type_result,
841
10
                                                          check_overflow_for_decimal);
842
10
                                return true;
843
10
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
10
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
10
        return res;
853
10
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
56
                            bool check_overflow_for_decimal) const {
813
56
        ColumnPtr res = nullptr;
814
56
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
56
            } else {
832
56
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
56
                                         DataTypeDecimal256>(
834
56
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
56
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
56
                                        type_left, type_right, type_result);
837
56
                                res = Impl::vector_vector(column_left->get_ptr(),
838
56
                                                          column_right->get_ptr(), type_left,
839
56
                                                          type_right, max_and_multiplier.first,
840
56
                                                          max_and_multiplier.second, type_result,
841
56
                                                          check_overflow_for_decimal);
842
56
                                return true;
843
56
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
56
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
56
        return res;
853
56
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
469
                            bool check_overflow_for_decimal) const {
813
469
        ColumnPtr res = nullptr;
814
469
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
469
            } else {
832
469
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
469
                                         DataTypeDecimal256>(
834
469
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
469
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
469
                                        type_left, type_right, type_result);
837
469
                                res = Impl::vector_vector(column_left->get_ptr(),
838
469
                                                          column_right->get_ptr(), type_left,
839
469
                                                          type_right, max_and_multiplier.first,
840
469
                                                          max_and_multiplier.second, type_result,
841
469
                                                          check_overflow_for_decimal);
842
469
                                return true;
843
469
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
469
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
469
        return res;
853
469
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
159
                            bool check_overflow_for_decimal) const {
813
159
        ColumnPtr res = nullptr;
814
159
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
159
            } else {
832
159
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
159
                                         DataTypeDecimal256>(
834
159
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
159
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
159
                                        type_left, type_right, type_result);
837
159
                                res = Impl::vector_vector(column_left->get_ptr(),
838
159
                                                          column_right->get_ptr(), type_left,
839
159
                                                          type_right, max_and_multiplier.first,
840
159
                                                          max_and_multiplier.second, type_result,
841
159
                                                          check_overflow_for_decimal);
842
159
                                return true;
843
159
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
159
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
159
        return res;
853
159
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
4
                            bool check_overflow_for_decimal) const {
813
4
        ColumnPtr res = nullptr;
814
4
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
4
            } else {
832
4
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
4
                                         DataTypeDecimal256>(
834
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
4
                                        type_left, type_right, type_result);
837
4
                                res = Impl::vector_vector(column_left->get_ptr(),
838
4
                                                          column_right->get_ptr(), type_left,
839
4
                                                          type_right, max_and_multiplier.first,
840
4
                                                          max_and_multiplier.second, type_result,
841
4
                                                          check_overflow_for_decimal);
842
4
                                return true;
843
4
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
4
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
4
        return res;
853
4
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
42
                            bool check_overflow_for_decimal) const {
813
42
        ColumnPtr res = nullptr;
814
42
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
42
            } else {
832
42
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
42
                                         DataTypeDecimal256>(
834
42
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
42
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
42
                                        type_left, type_right, type_result);
837
42
                                res = Impl::vector_vector(column_left->get_ptr(),
838
42
                                                          column_right->get_ptr(), type_left,
839
42
                                                          type_right, max_and_multiplier.first,
840
42
                                                          max_and_multiplier.second, type_result,
841
42
                                                          check_overflow_for_decimal);
842
42
                                return true;
843
42
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
42
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
42
        return res;
853
42
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
11
                            bool check_overflow_for_decimal) const {
813
11
        ColumnPtr res = nullptr;
814
11
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
11
            } else {
832
11
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
11
                                         DataTypeDecimal256>(
834
11
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
11
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
11
                                        type_left, type_right, type_result);
837
11
                                res = Impl::vector_vector(column_left->get_ptr(),
838
11
                                                          column_right->get_ptr(), type_left,
839
11
                                                          type_right, max_and_multiplier.first,
840
11
                                                          max_and_multiplier.second, type_result,
841
11
                                                          check_overflow_for_decimal);
842
11
                                return true;
843
11
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
11
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
11
        return res;
853
11
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_3EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_4EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
38
                            bool check_overflow_for_decimal) const {
813
38
        ColumnPtr res = nullptr;
814
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
38
        } else {
850
38
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
38
        }
852
38
        return res;
853
38
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_5EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
64
                            bool check_overflow_for_decimal) const {
813
64
        ColumnPtr res = nullptr;
814
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
64
        } else {
850
64
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
64
        }
852
64
        return res;
853
64
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
1.81k
                            bool check_overflow_for_decimal) const {
813
1.81k
        ColumnPtr res = nullptr;
814
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
1.81k
        } else {
850
1.81k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
1.81k
        }
852
1.81k
        return res;
853
1.81k
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_7EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
151
                            bool check_overflow_for_decimal) const {
813
151
        ColumnPtr res = nullptr;
814
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
151
        } else {
850
151
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
151
        }
852
151
        return res;
853
151
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_8EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_9EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
3.49k
                            bool check_overflow_for_decimal) const {
813
3.49k
        ColumnPtr res = nullptr;
814
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
3.49k
        } else {
850
3.49k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
3.49k
        }
852
3.49k
        return res;
853
3.49k
    }
854
};
855
856
8
void register_function_multiply(SimpleFunctionFactory& factory) {
857
8
    factory.register_function<
858
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMALV2, TYPE_DECIMALV2>>>();
859
860
8
    factory.register_function<
861
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL32>>>();
862
8
    factory.register_function<
863
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL64>>>();
864
8
    factory.register_function<
865
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL128I>>>();
866
8
    factory.register_function<
867
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL32, TYPE_DECIMAL256>>>();
868
869
8
    factory.register_function<
870
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL32>>>();
871
8
    factory.register_function<
872
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL64>>>();
873
8
    factory.register_function<
874
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL128I>>>();
875
8
    factory.register_function<
876
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL64, TYPE_DECIMAL256>>>();
877
878
8
    factory.register_function<
879
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL32>>>();
880
8
    factory.register_function<
881
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL64>>>();
882
8
    factory.register_function<
883
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL128I>>>();
884
8
    factory.register_function<
885
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL128I, TYPE_DECIMAL256>>>();
886
887
8
    factory.register_function<
888
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL32>>>();
889
8
    factory.register_function<
890
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL64>>>();
891
8
    factory.register_function<
892
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL128I>>>();
893
8
    factory.register_function<
894
8
            FunctionMultiply<MultiplyDecimalImpl<TYPE_DECIMAL256, TYPE_DECIMAL256>>>();
895
896
8
    factory.register_function<FunctionMultiply<MultiplyIntegralImpl<TYPE_TINYINT>>>();
897
8
    factory.register_function<FunctionMultiply<MultiplyIntegralImpl<TYPE_SMALLINT>>>();
898
8
    factory.register_function<FunctionMultiply<MultiplyIntegralImpl<TYPE_INT>>>();
899
8
    factory.register_function<FunctionMultiply<MultiplyIntegralImpl<TYPE_BIGINT>>>();
900
8
    factory.register_function<FunctionMultiply<MultiplyIntegralImpl<TYPE_LARGEINT>>>();
901
8
    factory.register_function<FunctionMultiply<MultiplyIntegralImpl<TYPE_FLOAT>>>();
902
8
    factory.register_function<FunctionMultiply<MultiplyIntegralImpl<TYPE_DOUBLE>>>();
903
8
}
904
} // namespace doris