Coverage Report

Created: 2026-05-25 04:33

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.48M
                                                                                          Arg b) {
56
2.48M
        return a * b;
57
2.48M
    }
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
286
                                                                                          Arg b) {
56
286
        return a * b;
57
286
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE5applyEll
Line
Count
Source
55
142k
                                                                                          Arg b) {
56
142k
        return a * b;
57
142k
    }
_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
14.8k
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
14.8k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
14.8k
        auto column_result = ColumnType::create(column_left->size());
68
69
14.8k
        auto& a = column_left_ptr->get_data();
70
14.8k
        auto& c = column_result->get_data();
71
14.8k
        size_t size = a.size();
72
1.19M
        for (size_t i = 0; i < size; ++i) {
73
1.17M
            c[i] = apply(a[i], b);
74
1.17M
        }
75
14.8k
        return column_result;
76
14.8k
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE3EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEa
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE4EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEs
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE5EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEi
Line
Count
Source
65
1
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
1
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
1
        auto column_result = ColumnType::create(column_left->size());
68
69
1
        auto& a = column_left_ptr->get_data();
70
1
        auto& c = column_result->get_data();
71
1
        size_t size = a.size();
72
2
        for (size_t i = 0; i < size; ++i) {
73
1
            c[i] = apply(a[i], b);
74
1
        }
75
1
        return column_result;
76
1
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEl
Line
Count
Source
65
14.5k
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
14.5k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
14.5k
        auto column_result = ColumnType::create(column_left->size());
68
69
14.5k
        auto& a = column_left_ptr->get_data();
70
14.5k
        auto& c = column_result->get_data();
71
14.5k
        size_t size = a.size();
72
145k
        for (size_t i = 0; i < size; ++i) {
73
130k
            c[i] = apply(a[i], b);
74
130k
        }
75
14.5k
        return column_result;
76
14.5k
    }
_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
255
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
255
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
255
        auto column_result = ColumnType::create(column_left->size());
68
69
255
        auto& a = column_left_ptr->get_data();
70
255
        auto& c = column_result->get_data();
71
255
        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
255
        return column_result;
76
255
    }
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
3.98k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
3.98k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
3.98k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
3.98k
        auto column_result = ColumnType::create(column_left->size());
97
98
3.98k
        auto& a = column_left_ptr->get_data();
99
3.98k
        auto& b = column_right_ptr->get_data();
100
3.98k
        auto& c = column_result->get_data();
101
3.98k
        size_t size = a.size();
102
1.30M
        for (size_t i = 0; i < size; ++i) {
103
1.30M
            c[i] = apply(a[i], b[i]);
104
1.30M
        }
105
3.98k
        return column_result;
106
3.98k
    }
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.11k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
1.11k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
1.11k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
1.11k
        auto column_result = ColumnType::create(column_left->size());
97
98
1.11k
        auto& a = column_left_ptr->get_data();
99
1.11k
        auto& b = column_right_ptr->get_data();
100
1.11k
        auto& c = column_result->get_data();
101
1.11k
        size_t size = a.size();
102
12.5k
        for (size_t i = 0; i < size; ++i) {
103
11.4k
            c[i] = apply(a[i], b[i]);
104
11.4k
        }
105
1.11k
        return column_result;
106
1.11k
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
152
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
152
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
152
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
152
        auto column_result = ColumnType::create(column_left->size());
97
98
152
        auto& a = column_left_ptr->get_data();
99
152
        auto& b = column_right_ptr->get_data();
100
152
        auto& c = column_result->get_data();
101
152
        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
152
        return column_result;
106
152
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
2.61k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
2.61k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
2.61k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
2.61k
        auto column_result = ColumnType::create(column_left->size());
97
98
2.61k
        auto& a = column_left_ptr->get_data();
99
2.61k
        auto& b = column_right_ptr->get_data();
100
2.61k
        auto& c = column_result->get_data();
101
2.61k
        size_t size = a.size();
102
1.29M
        for (size_t i = 0; i < size; ++i) {
103
1.29M
            c[i] = apply(a[i], b[i]);
104
1.29M
        }
105
2.61k
        return column_result;
106
2.61k
    }
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
57
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
57
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
57
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
57
    }
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
48
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
48
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
48
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
48
    }
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
55.7M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
55.7M
        return common::mul_overflow(
152
55.7M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
55.7M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
55.7M
    }
_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
3.55k
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
3.55k
        return common::mul_overflow(
152
3.55k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
3.55k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
3.55k
    }
_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
30.0k
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
30.0k
        return common::mul_overflow(
152
30.0k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
30.0k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
30.0k
    }
_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
29.9M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
29.9M
        return common::mul_overflow(
152
29.9M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
29.9M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
29.9M
    }
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
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
    }
_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
877
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
877
        return common::mul_overflow(
152
877
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
877
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
877
    }
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
25.7M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
25.7M
        return common::mul_overflow(
152
25.7M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
25.7M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
25.7M
    }
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
115
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
115
        return common::mul_overflow(
152
115
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
115
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
115
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbnnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
262
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
262
        return common::mul_overflow(
152
262
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
262
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
262
    }
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
47
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
47
        return common::mul_overflow(
152
47
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
47
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
47
    }
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
16
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
16
        return common::mul_overflow(
152
16
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
16
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
16
    }
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
387
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
387
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
387
        auto column_result =
209
387
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
387
        DCHECK(column_left_ptr != nullptr);
211
212
387
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
387
        const auto& a = column_left_ptr->get_data();
214
387
        auto& c = column_result->get_data();
215
387
        std::visit(
216
388
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
31.0k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
30.6k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
30.6k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
30.6k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
30.6k
                                        max_result_number, scale_diff_multiplier));
222
30.6k
                    }
223
388
                },
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
20
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
50
                    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
20
                },
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
47
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
30.1k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
30.0k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
30.0k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
30.0k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
30.0k
                                        max_result_number, scale_diff_multiplier));
222
30.0k
                    }
223
47
                },
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
302
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
872
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
570
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
570
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
570
                                        a[i], b, *type_left, *type_right, res_data_type,
221
570
                                        max_result_number, scale_diff_multiplier));
222
570
                    }
223
302
                },
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
387
                make_bool_variant(need_adjust_scale),
225
387
                make_bool_variant(check_overflow_for_decimal));
226
227
387
        return column_result;
228
387
    }
_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
20
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
20
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
20
        auto column_result =
209
20
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
20
        DCHECK(column_left_ptr != nullptr);
211
212
20
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
20
        const auto& a = column_left_ptr->get_data();
214
20
        auto& c = column_result->get_data();
215
20
        std::visit(
216
20
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
20
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
20
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
20
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
20
                                        a[i], b, *type_left, *type_right, res_data_type,
221
20
                                        max_result_number, scale_diff_multiplier));
222
20
                    }
223
20
                },
224
20
                make_bool_variant(need_adjust_scale),
225
20
                make_bool_variant(check_overflow_for_decimal));
226
227
20
        return column_result;
228
20
    }
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
46
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
46
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
46
        auto column_result =
209
46
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
46
        DCHECK(column_left_ptr != nullptr);
211
212
46
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
46
        const auto& a = column_left_ptr->get_data();
214
46
        auto& c = column_result->get_data();
215
46
        std::visit(
216
46
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
46
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
46
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
46
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
46
                                        a[i], b, *type_left, *type_right, res_data_type,
221
46
                                        max_result_number, scale_diff_multiplier));
222
46
                    }
223
46
                },
224
46
                make_bool_variant(need_adjust_scale),
225
46
                make_bool_variant(check_overflow_for_decimal));
226
227
46
        return column_result;
228
46
    }
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
303
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
303
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
303
        auto column_result =
209
303
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
303
        DCHECK(column_left_ptr != nullptr);
211
212
303
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
303
        const auto& a = column_left_ptr->get_data();
214
303
        auto& c = column_result->get_data();
215
303
        std::visit(
216
303
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
303
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
303
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
303
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
303
                                        a[i], b, *type_left, *type_right, res_data_type,
221
303
                                        max_result_number, scale_diff_multiplier));
222
303
                    }
223
303
                },
224
303
                make_bool_variant(need_adjust_scale),
225
303
                make_bool_variant(check_overflow_for_decimal));
226
227
303
        return column_result;
228
303
    }
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
79
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
79
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
79
        auto column_result =
269
79
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
79
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
79
        auto& b = column_right_ptr->get_data();
273
79
        auto& c = column_result->get_data();
274
79
        std::visit(
275
79
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
3.40k
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
3.32k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
3.32k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
3.32k
                                        a, b[i], *type_left, *type_right, res_data_type,
280
3.32k
                                        max_result_number, scale_diff_multiplier));
281
3.32k
                    }
282
79
                },
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
66
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
3.37k
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
3.30k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
3.30k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
3.30k
                                        a, b[i], *type_left, *type_right, res_data_type,
280
3.30k
                                        max_result_number, scale_diff_multiplier));
281
3.30k
                    }
282
66
                },
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
79
                make_bool_variant(need_adjust_scale),
284
79
                make_bool_variant(check_overflow_for_decimal));
285
79
        return column_result;
286
79
    }
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
66
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
66
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
66
        auto column_result =
269
66
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
66
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
66
        auto& b = column_right_ptr->get_data();
273
66
        auto& c = column_result->get_data();
274
66
        std::visit(
275
66
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
66
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
66
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
66
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
66
                                        a, b[i], *type_left, *type_right, res_data_type,
280
66
                                        max_result_number, scale_diff_multiplier));
281
66
                    }
282
66
                },
283
66
                make_bool_variant(need_adjust_scale),
284
66
                make_bool_variant(check_overflow_for_decimal));
285
66
        return column_result;
286
66
    }
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
10.3k
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
10.3k
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
10.3k
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
10.3k
        auto column_result =
386
10.3k
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
10.3k
        auto sz = column_left->size();
388
10.3k
        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
10.2k
        } else {
399
10.2k
            const auto& a = column_left_ptr->get_data().data();
400
10.2k
            const auto& b = column_right_ptr->get_data().data();
401
10.2k
            const auto& c = column_result->get_data().data();
402
10.2k
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
10.2k
            std::visit(
404
10.2k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
55.7M
                        for (size_t i = 0; i < sz; i++) {
406
55.7M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
55.7M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
55.7M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
55.7M
                                            max_result_number, scale_diff_multiplier));
410
55.7M
                        }
411
10.2k
                    },
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
6.44k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
29.9M
                        for (size_t i = 0; i < sz; i++) {
406
29.9M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
29.9M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
29.9M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
29.9M
                                            max_result_number, scale_diff_multiplier));
410
29.9M
                        }
411
6.44k
                    },
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
9
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
20
                        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
9
                    },
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
3.41k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
25.8M
                        for (size_t i = 0; i < sz; i++) {
406
25.7M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
25.7M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
25.7M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
25.7M
                                            max_result_number, scale_diff_multiplier));
410
25.7M
                        }
411
3.41k
                    },
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
5
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
10
                        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
                    },
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
80
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
188
                        for (size_t i = 0; i < sz; i++) {
406
108
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
108
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
108
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
108
                                            max_result_number, scale_diff_multiplier));
410
108
                        }
411
80
                    },
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
64
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
326
                        for (size_t i = 0; i < sz; i++) {
406
262
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
262
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
262
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
262
                                            max_result_number, scale_diff_multiplier));
410
262
                        }
411
64
                    },
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
35
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
80
                        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
35
                    },
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
11
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
22
                        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
10.2k
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
10.2k
                    make_bool_variant(check_overflow_for_decimal));
414
415
10.2k
            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
10.2k
        }
426
427
10.3k
        return column_result;
428
10.3k
    }
_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
6.43k
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
6.43k
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
6.43k
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
6.43k
        auto column_result =
386
6.43k
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
6.43k
        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
6.43k
        } else {
399
6.43k
            const auto& a = column_left_ptr->get_data().data();
400
6.43k
            const auto& b = column_right_ptr->get_data().data();
401
6.43k
            const auto& c = column_result->get_data().data();
402
6.43k
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
6.43k
            std::visit(
404
6.43k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
6.43k
                        for (size_t i = 0; i < sz; i++) {
406
6.43k
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
6.43k
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
6.43k
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
6.43k
                                            max_result_number, scale_diff_multiplier));
410
6.43k
                        }
411
6.43k
                    },
412
6.43k
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
6.43k
                    make_bool_variant(check_overflow_for_decimal));
414
415
6.43k
            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
6.43k
        }
426
427
6.43k
        return column_result;
428
6.43k
    }
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
9
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
9
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
9
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
9
        auto column_result =
386
9
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
9
        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
9
        } else {
399
9
            const auto& a = column_left_ptr->get_data().data();
400
9
            const auto& b = column_right_ptr->get_data().data();
401
9
            const auto& c = column_result->get_data().data();
402
9
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
9
            std::visit(
404
9
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
9
                        for (size_t i = 0; i < sz; i++) {
406
9
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
9
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
9
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
9
                                            max_result_number, scale_diff_multiplier));
410
9
                        }
411
9
                    },
412
9
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
9
                    make_bool_variant(check_overflow_for_decimal));
414
415
9
            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
9
        }
426
427
9
        return column_result;
428
9
    }
_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
3.42k
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
3.42k
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
3.42k
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
3.42k
        auto column_result =
386
3.42k
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
3.42k
        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.42k
        } else {
399
3.42k
            const auto& a = column_left_ptr->get_data().data();
400
3.42k
            const auto& b = column_right_ptr->get_data().data();
401
3.42k
            const auto& c = column_result->get_data().data();
402
3.42k
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
3.42k
            std::visit(
404
3.42k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
3.42k
                        for (size_t i = 0; i < sz; i++) {
406
3.42k
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
3.42k
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
3.42k
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
3.42k
                                            max_result_number, scale_diff_multiplier));
410
3.42k
                        }
411
3.42k
                    },
412
3.42k
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
3.42k
                    make_bool_variant(check_overflow_for_decimal));
414
415
3.42k
            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.42k
        }
426
427
3.42k
        return column_result;
428
3.42k
    }
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
85
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
85
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
85
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
85
        auto column_result =
386
85
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
85
        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
85
        } else {
399
85
            const auto& a = column_left_ptr->get_data().data();
400
85
            const auto& b = column_right_ptr->get_data().data();
401
85
            const auto& c = column_result->get_data().data();
402
85
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
85
            std::visit(
404
85
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
85
                        for (size_t i = 0; i < sz; i++) {
406
85
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
85
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
85
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
85
                                            max_result_number, scale_diff_multiplier));
410
85
                        }
411
85
                    },
412
85
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
85
                    make_bool_variant(check_overflow_for_decimal));
414
415
85
            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
85
        }
426
427
85
        return column_result;
428
85
    }
_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
64
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
64
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
64
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
64
        auto column_result =
386
64
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
64
        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
64
        } else {
399
64
            const auto& a = column_left_ptr->get_data().data();
400
64
            const auto& b = column_right_ptr->get_data().data();
401
64
            const auto& c = column_result->get_data().data();
402
64
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
64
            std::visit(
404
64
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
64
                        for (size_t i = 0; i < sz; i++) {
406
64
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
64
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
64
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
64
                                            max_result_number, scale_diff_multiplier));
410
64
                        }
411
64
                    },
412
64
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
64
                    make_bool_variant(check_overflow_for_decimal));
414
415
64
            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
64
        }
426
427
64
        return column_result;
428
64
    }
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
37
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
37
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
37
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
37
        auto column_result =
386
37
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
37
        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
37
        } else {
399
37
            const auto& a = column_left_ptr->get_data().data();
400
37
            const auto& b = column_right_ptr->get_data().data();
401
37
            const auto& c = column_result->get_data().data();
402
37
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
37
            std::visit(
404
37
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
37
                        for (size_t i = 0; i < sz; i++) {
406
37
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
37
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
37
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
37
                                            max_result_number, scale_diff_multiplier));
410
37
                        }
411
37
                    },
412
37
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
37
                    make_bool_variant(check_overflow_for_decimal));
414
415
37
            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
37
        }
426
427
37
        return column_result;
428
37
    }
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
15
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
15
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
15
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
15
        auto column_result =
386
15
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
15
        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
15
        } else {
399
15
            const auto& a = column_left_ptr->get_data().data();
400
15
            const auto& b = column_right_ptr->get_data().data();
401
15
            const auto& c = column_result->get_data().data();
402
15
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
15
            std::visit(
404
15
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
15
                        for (size_t i = 0; i < sz; i++) {
406
15
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
15
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
15
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
15
                                            max_result_number, scale_diff_multiplier));
410
15
                        }
411
15
                    },
412
15
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
15
                    make_bool_variant(check_overflow_for_decimal));
414
415
15
            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
15
        }
426
427
15
        return column_result;
428
15
    }
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
55.7M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
55.7M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
55.7M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
55.7M
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
75
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
57
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
57
                    if constexpr (need_adjust_scale) {
445
56
                        if (res256 > 0) {
446
53
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
53
                                     scale_diff_multiplier.value;
448
449
53
                        } else {
450
3
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
3
                                     scale_diff_multiplier.value;
452
3
                        }
453
56
                    }
454
                    // check if final result is overflow
455
57
                    if (res256 > wide::Int256(max_result_number.value) ||
456
57
                        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
51
                    } else {
466
51
                        res = res256;
467
51
                    }
468
57
                } else {
469
18
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
18
                                                          type_result.get_scale()}
471
18
                                              .to_string(Decimal256(res));
472
18
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
18
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
18
                                    type_left.to_string(ArgA(a)), "multiply",
475
18
                                    type_right.to_string(ArgB(b)), result_str,
476
18
                                    type_result.get_name());
477
18
                }
478
55.7M
            } else {
479
                // round to final result precision
480
55.7M
                if constexpr (need_adjust_scale) {
481
119
                    if (res >= 0) {
482
116
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
116
                    } else {
484
3
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
3
                    }
486
119
                }
487
55.8M
                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
55.7M
            }
498
55.7M
            return res;
499
55.7M
        } 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
55.7M
    }
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
3.55k
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
3.55k
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
3.55k
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
3.55k
            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.55k
            } 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.55k
                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
3.55k
            }
498
3.55k
            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.55k
    }
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
30.0k
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
30.0k
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
30.0k
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
30.0k
            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
30.0k
            } 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
30.0k
                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
30.0k
            }
498
30.0k
            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
30.0k
    }
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
29.9M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
29.9M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
29.9M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
29.9M
            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
29.9M
            } 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
30.0M
                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
29.9M
            }
498
29.9M
            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
29.9M
    }
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
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
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
6
            } else {
479
                // round to final result precision
480
6
                if constexpr (need_adjust_scale) {
481
6
                    if (res >= 0) {
482
4
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
4
                    } else {
484
2
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
2
                    }
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
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_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
876
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
876
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
876
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
876
            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
876
            } 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
876
                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
876
            }
498
876
            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
876
    }
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
25.7M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
25.7M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
25.7M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
25.7M
            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
25.7M
            } 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
25.8M
                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
25.7M
            }
498
25.7M
            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
25.7M
    }
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
110
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
110
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
110
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
110
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
47
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
47
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
47
                    if constexpr (need_adjust_scale) {
445
47
                        if (res256 > 0) {
446
46
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
46
                                     scale_diff_multiplier.value;
448
449
46
                        } else {
450
1
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
1
                                     scale_diff_multiplier.value;
452
1
                        }
453
47
                    }
454
                    // check if final result is overflow
455
47
                    if (res256 > wide::Int256(max_result_number.value) ||
456
47
                        res256 < wide::Int256(-max_result_number.value)) {
457
4
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
4
                                                              type_result.get_scale()}
459
4
                                                  .to_string(Decimal256(res256));
460
4
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
4
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
4
                                        type_left.to_string(ArgA(a)), "multiply",
463
4
                                        type_right.to_string(ArgB(b)), result_str,
464
4
                                        type_result.get_name());
465
43
                    } else {
466
43
                        res = res256;
467
43
                    }
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
110
            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
110
    }
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
5
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
5
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
5
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
5
            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
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
5
            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
5
    }
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
262
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
262
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
262
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
262
            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
262
            } 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
262
                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
262
            }
498
262
            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
262
    }
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
45
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
45
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
45
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
45
            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
6
                } else {
469
6
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
6
                                                          type_result.get_scale()}
471
6
                                              .to_string(Decimal256(res));
472
6
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
6
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
6
                                    type_left.to_string(ArgA(a)), "multiply",
475
6
                                    type_right.to_string(ArgB(b)), result_str,
476
6
                                    type_result.get_name());
477
6
                }
478
39
            } else {
479
                // round to final result precision
480
39
                if constexpr (need_adjust_scale) {
481
39
                    if (res >= 0) {
482
39
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
39
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
39
                }
487
39
                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
39
            }
498
45
            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
45
    }
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
12
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
12
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
12
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
12
            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
12
                } else {
469
12
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
12
                                                          type_result.get_scale()}
471
12
                                              .to_string(Decimal256(res));
472
12
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
12
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
12
                                    type_left.to_string(ArgA(a)), "multiply",
475
12
                                    type_right.to_string(ArgB(b)), result_str,
476
12
                                    type_result.get_name());
477
12
                }
478
12
            } 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
12
            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
    }
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
10.8k
                           const DataTypeDecimal<PT>& type_result) {
540
10.8k
        auto max_result_number =
541
10.8k
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
10.8k
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
10.8k
        auto result_scale = type_result.get_scale();
545
10.8k
        DCHECK(orig_result_scale >= result_scale);
546
10.8k
        auto scale_diff_multiplier =
547
10.8k
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
10.8k
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
10.8k
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
10.8k
    }
_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
46
                           const DataTypeDecimal<PT>& type_result) {
540
46
        auto max_result_number =
541
46
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
46
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
46
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
46
        auto scale_diff_multiplier =
547
46
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
46
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
46
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
46
    }
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
111
                           const DataTypeDecimal<PT>& type_result) {
540
111
        auto max_result_number =
541
111
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
111
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
111
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
111
        auto scale_diff_multiplier =
547
111
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
111
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
111
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
111
    }
_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
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
    }
_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
6.43k
                           const DataTypeDecimal<PT>& type_result) {
540
6.43k
        auto max_result_number =
541
6.43k
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
6.43k
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
6.43k
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
6.43k
        auto scale_diff_multiplier =
547
6.43k
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
6.43k
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
6.43k
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
6.43k
    }
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
10
                           const DataTypeDecimal<PT>& type_result) {
540
10
        auto max_result_number =
541
10
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
10
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
10
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
10
        auto scale_diff_multiplier =
547
10
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
10
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
10
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
10
    }
_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
359
                           const DataTypeDecimal<PT>& type_result) {
540
359
        auto max_result_number =
541
359
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
359
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
359
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
359
        auto scale_diff_multiplier =
547
359
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
359
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
359
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
359
    }
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
3.42k
                           const DataTypeDecimal<PT>& type_result) {
540
3.42k
        auto max_result_number =
541
3.42k
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
3.42k
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
3.42k
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
3.42k
        auto scale_diff_multiplier =
547
3.42k
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
3.42k
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
3.42k
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
3.42k
    }
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
87
                           const DataTypeDecimal<PT>& type_result) {
540
87
        auto max_result_number =
541
87
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
87
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
87
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
87
        auto scale_diff_multiplier =
547
87
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
87
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
87
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
87
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
64
                           const DataTypeDecimal<PT>& type_result) {
540
64
        auto max_result_number =
541
64
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
64
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
64
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
64
        auto scale_diff_multiplier =
547
64
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
64
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
64
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
64
    }
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
37
                           const DataTypeDecimal<PT>& type_result) {
540
37
        auto max_result_number =
541
37
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
37
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
37
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
37
        auto scale_diff_multiplier =
547
37
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
37
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
37
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
37
    }
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
16
                           const DataTypeDecimal<PT>& type_result) {
540
16
        auto max_result_number =
541
16
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
16
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
16
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
16
        auto scale_diff_multiplier =
547
16
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
16
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
16
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
16
    }
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
16.5k
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE6createEv
Line
Count
Source
560
64
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE6createEv
Line
Count
Source
560
39
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE6createEv
Line
Count
Source
560
13
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE6createEv
Line
Count
Source
560
37
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE6createEv
Line
Count
Source
560
9
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE6createEv
Line
Count
Source
560
35
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE6createEv
Line
Count
Source
560
172
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE6createEv
Line
Count
Source
560
16
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE6createEv
Line
Count
Source
560
9
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE6createEv
Line
Count
Source
560
332
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE6createEv
Line
Count
Source
560
93
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE6createEv
Line
Count
Source
560
123
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE6createEv
Line
Count
Source
560
9
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE6createEv
Line
Count
Source
560
14
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE6createEv
Line
Count
Source
560
9
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE6createEv
Line
Count
Source
560
30
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE6createEv
Line
Count
Source
560
23
    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
36
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE6createEv
Line
Count
Source
560
14.8k
    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
537
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
561
562
16.5k
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEEC2Ev
Line
Count
Source
562
64
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEEC2Ev
Line
Count
Source
562
39
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEEC2Ev
Line
Count
Source
562
13
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEEC2Ev
Line
Count
Source
562
37
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEEC2Ev
Line
Count
Source
562
9
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEEC2Ev
Line
Count
Source
562
35
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEEC2Ev
Line
Count
Source
562
172
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEEC2Ev
Line
Count
Source
562
16
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEEC2Ev
Line
Count
Source
562
9
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEEC2Ev
Line
Count
Source
562
332
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEEC2Ev
Line
Count
Source
562
93
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEEC2Ev
Line
Count
Source
562
123
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEEC2Ev
Line
Count
Source
562
9
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEEC2Ev
Line
Count
Source
562
14
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEEC2Ev
Line
Count
Source
562
9
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEEC2Ev
Line
Count
Source
562
30
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEEC2Ev
Line
Count
Source
562
23
    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
36
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEEC2Ev
Line
Count
Source
562
14.8k
    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
537
    FunctionMultiply() = default;
563
564
24
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    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
13.2k
    bool need_replace_null_data_to_default() const override {
567
13.2k
        return Impl::need_replace_null_data_to_default;
568
13.2k
    }
_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
60
    bool need_replace_null_data_to_default() const override {
567
60
        return Impl::need_replace_null_data_to_default;
568
60
    }
_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
3.77k
    bool need_replace_null_data_to_default() const override {
567
3.77k
        return Impl::need_replace_null_data_to_default;
568
3.77k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
12
    bool need_replace_null_data_to_default() const override {
567
12
        return Impl::need_replace_null_data_to_default;
568
12
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
185
    bool need_replace_null_data_to_default() const override {
567
185
        return Impl::need_replace_null_data_to_default;
568
185
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
2.97k
    bool need_replace_null_data_to_default() const override {
567
2.97k
        return Impl::need_replace_null_data_to_default;
568
2.97k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
146
    bool need_replace_null_data_to_default() const override {
567
146
        return Impl::need_replace_null_data_to_default;
568
146
    }
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
35
    bool need_replace_null_data_to_default() const override {
567
35
        return Impl::need_replace_null_data_to_default;
568
35
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
14
    bool need_replace_null_data_to_default() const override {
567
14
        return Impl::need_replace_null_data_to_default;
568
14
    }
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
3.05k
    bool need_replace_null_data_to_default() const override {
567
3.05k
        return Impl::need_replace_null_data_to_default;
568
3.05k
    }
_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
2.63k
    bool need_replace_null_data_to_default() const override {
567
2.63k
        return Impl::need_replace_null_data_to_default;
568
2.63k
    }
569
570
113k
    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
228
    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
314
    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
205
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
17.8k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
43
    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.65k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
9.91k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
688
    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
147
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
76
    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
255
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
71.2k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
441
    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
9.44k
    bool use_default_implementation_for_constants() const final { return false; }
571
572
16.3k
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE23get_number_of_argumentsEv
Line
Count
Source
572
55
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
30
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
4
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
28
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE23get_number_of_argumentsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
26
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
163
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
7
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE23get_number_of_argumentsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
323
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
84
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
114
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE23get_number_of_argumentsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
5
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE23get_number_of_argumentsEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
21
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
14
    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
27
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE23get_number_of_argumentsEv
Line
Count
Source
572
14.8k
    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
528
    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
16.3k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
16.3k
        return arguments[0];
580
16.3k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
55
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
55
        return arguments[0];
580
55
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
30
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
30
        return arguments[0];
580
30
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
4
        return arguments[0];
580
4
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
28
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
28
        return arguments[0];
580
28
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE20get_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_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
163
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
163
        return arguments[0];
580
163
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
7
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
7
        return arguments[0];
580
7
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
323
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
323
        return arguments[0];
580
323
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
84
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
84
        return arguments[0];
580
84
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
114
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
114
        return arguments[0];
580
114
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE20get_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
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
21
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
21
        return arguments[0];
580
21
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
14
        return arguments[0];
580
14
    }
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
27
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
27
        return arguments[0];
580
27
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
14.8k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
14.8k
        return arguments[0];
580
14.8k
    }
_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
528
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
528
        return arguments[0];
580
528
    }
581
582
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
583
29.6k
                        uint32_t result, size_t input_rows_count) const override {
584
29.6k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
29.6k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
29.6k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
29.6k
                block.get_by_position(arguments[0]).type.get());
588
29.6k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
29.6k
                block.get_by_position(arguments[1]).type.get());
590
29.6k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
29.6k
        bool is_const_left = is_column_const(*column_left);
592
29.6k
        bool is_const_right = is_column_const(*column_right);
593
594
29.6k
        ColumnPtr column_result = nullptr;
595
29.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
29.6k
        } else if (is_const_left) {
599
80
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
80
                                            res_data_type, context->check_overflow_for_decimal());
601
29.5k
        } else if (is_const_right) {
602
15.2k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
15.2k
                                            res_data_type, context->check_overflow_for_decimal());
604
15.2k
        } else {
605
14.3k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
14.3k
                                          res_data_type, context->check_overflow_for_decimal());
607
14.3k
        }
608
29.6k
        block.replace_by_position(result, std::move(column_result));
609
29.6k
        return Status::OK();
610
29.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
60
                        uint32_t result, size_t input_rows_count) const override {
584
60
        auto& column_left = block.get_by_position(arguments[0]).column;
585
60
        auto& column_right = block.get_by_position(arguments[1]).column;
586
60
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
60
                block.get_by_position(arguments[0]).type.get());
588
60
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
60
                block.get_by_position(arguments[1]).type.get());
590
60
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
60
        bool is_const_left = is_column_const(*column_left);
592
60
        bool is_const_right = is_column_const(*column_right);
593
594
60
        ColumnPtr column_result = nullptr;
595
60
        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
60
        } 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
60
        } else if (is_const_right) {
602
32
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
32
                                            res_data_type, context->check_overflow_for_decimal());
604
32
        } 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
60
        block.replace_by_position(result, std::move(column_result));
609
60
        return Status::OK();
610
60
    }
_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
114
                        uint32_t result, size_t input_rows_count) const override {
584
114
        auto& column_left = block.get_by_position(arguments[0]).column;
585
114
        auto& column_right = block.get_by_position(arguments[1]).column;
586
114
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
114
                block.get_by_position(arguments[0]).type.get());
588
114
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
114
                block.get_by_position(arguments[1]).type.get());
590
114
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
114
        bool is_const_left = is_column_const(*column_left);
592
114
        bool is_const_right = is_column_const(*column_right);
593
594
114
        ColumnPtr column_result = nullptr;
595
114
        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
114
        } else if (is_const_left) {
599
66
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
66
                                            res_data_type, context->check_overflow_for_decimal());
601
66
        } 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
114
        block.replace_by_position(result, std::move(column_result));
609
114
        return Status::OK();
610
114
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
57
                        uint32_t result, size_t input_rows_count) const override {
584
57
        auto& column_left = block.get_by_position(arguments[0]).column;
585
57
        auto& column_right = block.get_by_position(arguments[1]).column;
586
57
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
57
                block.get_by_position(arguments[0]).type.get());
588
57
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
57
                block.get_by_position(arguments[1]).type.get());
590
57
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
57
        bool is_const_left = is_column_const(*column_left);
592
57
        bool is_const_right = is_column_const(*column_right);
593
594
57
        ColumnPtr column_result = nullptr;
595
57
        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
57
        } 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
53
        } else if (is_const_right) {
602
47
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
47
                                            res_data_type, context->check_overflow_for_decimal());
604
47
        } 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
57
        block.replace_by_position(result, std::move(column_result));
609
57
        return Status::OK();
610
57
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
6.44k
                        uint32_t result, size_t input_rows_count) const override {
584
6.44k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
6.44k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
6.44k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
6.44k
                block.get_by_position(arguments[0]).type.get());
588
6.44k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
6.44k
                block.get_by_position(arguments[1]).type.get());
590
6.44k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
6.44k
        bool is_const_left = is_column_const(*column_left);
592
6.44k
        bool is_const_right = is_column_const(*column_right);
593
594
6.44k
        ColumnPtr column_result = nullptr;
595
6.44k
        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.44k
        } 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
6.43k
        } 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
6.43k
        } else {
605
6.43k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
6.43k
                                          res_data_type, context->check_overflow_for_decimal());
607
6.43k
        }
608
6.44k
        block.replace_by_position(result, std::move(column_result));
609
6.44k
        return Status::OK();
610
6.44k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE12execute_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
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
12
        } 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
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_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
359
                        uint32_t result, size_t input_rows_count) const override {
584
359
        auto& column_left = block.get_by_position(arguments[0]).column;
585
359
        auto& column_right = block.get_by_position(arguments[1]).column;
586
359
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
359
                block.get_by_position(arguments[0]).type.get());
588
359
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
359
                block.get_by_position(arguments[1]).type.get());
590
359
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
359
        bool is_const_left = is_column_const(*column_left);
592
359
        bool is_const_right = is_column_const(*column_right);
593
594
359
        ColumnPtr column_result = nullptr;
595
359
        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
359
        } 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
359
        } else if (is_const_right) {
602
303
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
303
                                            res_data_type, context->check_overflow_for_decimal());
604
303
        } 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
359
        block.replace_by_position(result, std::move(column_result));
609
359
        return Status::OK();
610
359
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
3.42k
                        uint32_t result, size_t input_rows_count) const override {
584
3.42k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
3.42k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
3.42k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
3.42k
                block.get_by_position(arguments[0]).type.get());
588
3.42k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
3.42k
                block.get_by_position(arguments[1]).type.get());
590
3.42k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
3.42k
        bool is_const_left = is_column_const(*column_left);
592
3.42k
        bool is_const_right = is_column_const(*column_right);
593
594
3.42k
        ColumnPtr column_result = nullptr;
595
3.42k
        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
3.42k
        } 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.42k
        } 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
3.42k
        } else {
605
3.42k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
3.42k
                                          res_data_type, context->check_overflow_for_decimal());
607
3.42k
        }
608
3.42k
        block.replace_by_position(result, std::move(column_result));
609
3.42k
        return Status::OK();
610
3.42k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
151
                        uint32_t result, size_t input_rows_count) const override {
584
151
        auto& column_left = block.get_by_position(arguments[0]).column;
585
151
        auto& column_right = block.get_by_position(arguments[1]).column;
586
151
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
151
                block.get_by_position(arguments[0]).type.get());
588
151
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
151
                block.get_by_position(arguments[1]).type.get());
590
151
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
151
        bool is_const_left = is_column_const(*column_left);
592
151
        bool is_const_right = is_column_const(*column_right);
593
594
151
        ColumnPtr column_result = nullptr;
595
151
        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
149
        } 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
149
        } 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
149
        } else {
605
149
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
149
                                          res_data_type, context->check_overflow_for_decimal());
607
149
        }
608
151
        block.replace_by_position(result, std::move(column_result));
609
151
        return Status::OK();
610
151
    }
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
37
                        uint32_t result, size_t input_rows_count) const override {
584
37
        auto& column_left = block.get_by_position(arguments[0]).column;
585
37
        auto& column_right = block.get_by_position(arguments[1]).column;
586
37
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
37
                block.get_by_position(arguments[0]).type.get());
588
37
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
37
                block.get_by_position(arguments[1]).type.get());
590
37
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
37
        bool is_const_left = is_column_const(*column_left);
592
37
        bool is_const_right = is_column_const(*column_right);
593
594
37
        ColumnPtr column_result = nullptr;
595
37
        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
37
        } 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
37
        } 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
37
        } else {
605
37
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
37
                                          res_data_type, context->check_overflow_for_decimal());
607
37
        }
608
37
        block.replace_by_position(result, std::move(column_result));
609
37
        return Status::OK();
610
37
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
16
                        uint32_t result, size_t input_rows_count) const override {
584
16
        auto& column_left = block.get_by_position(arguments[0]).column;
585
16
        auto& column_right = block.get_by_position(arguments[1]).column;
586
16
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
16
                block.get_by_position(arguments[0]).type.get());
588
16
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
16
                block.get_by_position(arguments[1]).type.get());
590
16
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
16
        bool is_const_left = is_column_const(*column_left);
592
16
        bool is_const_right = is_column_const(*column_right);
593
594
16
        ColumnPtr column_result = nullptr;
595
16
        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
15
        } 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
15
        } 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
15
        } else {
605
15
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
15
                                          res_data_type, context->check_overflow_for_decimal());
607
15
        }
608
16
        block.replace_by_position(result, std::move(column_result));
609
16
        return Status::OK();
610
16
    }
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
69
                        uint32_t result, size_t input_rows_count) const override {
584
69
        auto& column_left = block.get_by_position(arguments[0]).column;
585
69
        auto& column_right = block.get_by_position(arguments[1]).column;
586
69
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
69
                block.get_by_position(arguments[0]).type.get());
588
69
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
69
                block.get_by_position(arguments[1]).type.get());
590
69
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
69
        bool is_const_left = is_column_const(*column_left);
592
69
        bool is_const_right = is_column_const(*column_right);
593
594
69
        ColumnPtr column_result = nullptr;
595
69
        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
65
        } 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
65
        } 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
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
69
        block.replace_by_position(result, std::move(column_result));
609
69
        return Status::OK();
610
69
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
15.6k
                        uint32_t result, size_t input_rows_count) const override {
584
15.6k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
15.6k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
15.6k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
15.6k
                block.get_by_position(arguments[0]).type.get());
588
15.6k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
15.6k
                block.get_by_position(arguments[1]).type.get());
590
15.6k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
15.6k
        bool is_const_left = is_column_const(*column_left);
592
15.6k
        bool is_const_right = is_column_const(*column_right);
593
594
15.6k
        ColumnPtr column_result = nullptr;
595
15.6k
        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
15.6k
        } 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
15.6k
        } else if (is_const_right) {
602
14.5k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
14.5k
                                            res_data_type, context->check_overflow_for_decimal());
604
14.5k
        } else {
605
1.11k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
1.11k
                                          res_data_type, context->check_overflow_for_decimal());
607
1.11k
        }
608
15.6k
        block.replace_by_position(result, std::move(column_result));
609
15.6k
        return Status::OK();
610
15.6k
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
159
                        uint32_t result, size_t input_rows_count) const override {
584
159
        auto& column_left = block.get_by_position(arguments[0]).column;
585
159
        auto& column_right = block.get_by_position(arguments[1]).column;
586
159
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
159
                block.get_by_position(arguments[0]).type.get());
588
159
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
159
                block.get_by_position(arguments[1]).type.get());
590
159
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
159
        bool is_const_left = is_column_const(*column_left);
592
159
        bool is_const_right = is_column_const(*column_right);
593
594
159
        ColumnPtr column_result = nullptr;
595
159
        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
158
        } 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
158
        } 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
152
        } else {
605
152
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
152
                                          res_data_type, context->check_overflow_for_decimal());
607
152
        }
608
159
        block.replace_by_position(result, std::move(column_result));
609
159
        return Status::OK();
610
159
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
2.86k
                        uint32_t result, size_t input_rows_count) const override {
584
2.86k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
2.86k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
2.86k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
2.86k
                block.get_by_position(arguments[0]).type.get());
588
2.86k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
2.86k
                block.get_by_position(arguments[1]).type.get());
590
2.86k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
2.86k
        bool is_const_left = is_column_const(*column_left);
592
2.86k
        bool is_const_right = is_column_const(*column_right);
593
594
2.86k
        ColumnPtr column_result = nullptr;
595
2.86k
        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
2.86k
        } 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
2.86k
        } else if (is_const_right) {
602
255
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
255
                                            res_data_type, context->check_overflow_for_decimal());
604
2.60k
        } else {
605
2.60k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
2.60k
                                          res_data_type, context->check_overflow_for_decimal());
607
2.60k
        }
608
2.86k
        block.replace_by_position(result, std::move(column_result));
609
2.86k
        return Status::OK();
610
2.86k
    }
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
15.2k
                              bool check_overflow_for_decimal) const {
697
15.2k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
15.2k
        DCHECK(column_right_ptr != nullptr);
699
700
15.2k
        ColumnPtr res = nullptr;
701
15.2k
        if constexpr (result_is_decimal) {
702
389
            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
388
            } else {
722
388
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
388
                                         DataTypeDecimal256>(
724
388
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
388
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
388
                                        type_left, type_right, type_result);
727
388
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
388
                                auto src = column_right_ptr
729
388
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
388
                                std::memcpy(&tmp, &src, sizeof(src));
731
388
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
388
                                                            type_right, max_and_multiplier.first,
733
388
                                                            max_and_multiplier.second, type_result,
734
388
                                                            check_overflow_for_decimal);
735
388
                                return true;
736
388
                            })) {
_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
20
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
20
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
20
                                        type_left, type_right, type_result);
727
20
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
20
                                auto src = column_right_ptr
729
20
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
20
                                std::memcpy(&tmp, &src, sizeof(src));
731
20
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
20
                                                            type_right, max_and_multiplier.first,
733
20
                                                            max_and_multiplier.second, type_result,
734
20
                                                            check_overflow_for_decimal);
735
20
                                return true;
736
20
                            })) {
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
47
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
47
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
47
                                        type_left, type_right, type_result);
727
47
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
47
                                auto src = column_right_ptr
729
47
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
47
                                std::memcpy(&tmp, &src, sizeof(src));
731
47
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
47
                                                            type_right, max_and_multiplier.first,
733
47
                                                            max_and_multiplier.second, type_result,
734
47
                                                            check_overflow_for_decimal);
735
47
                                return true;
736
47
                            })) {
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
303
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
303
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
303
                                        type_left, type_right, type_result);
727
303
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
303
                                auto src = column_right_ptr
729
303
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
303
                                std::memcpy(&tmp, &src, sizeof(src));
731
303
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
303
                                                            type_right, max_and_multiplier.first,
733
303
                                                            max_and_multiplier.second, type_result,
734
303
                                                            check_overflow_for_decimal);
735
303
                                return true;
736
303
                            })) {
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
388
            }
742
14.8k
        } else {
743
14.8k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
14.8k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
14.8k
            std::memcpy(&tmp, &src, sizeof(src));
746
14.8k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
14.8k
        }
748
389
        return res;
749
15.2k
    }
_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
32
                              bool check_overflow_for_decimal) const {
697
32
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
32
        DCHECK(column_right_ptr != nullptr);
699
700
32
        ColumnPtr res = nullptr;
701
32
        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
32
            } else {
722
32
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
32
                                         DataTypeDecimal256>(
724
32
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
32
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
32
                                        type_left, type_right, type_result);
727
32
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
32
                                auto src = column_right_ptr
729
32
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
32
                                std::memcpy(&tmp, &src, sizeof(src));
731
32
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
32
                                                            type_right, max_and_multiplier.first,
733
32
                                                            max_and_multiplier.second, type_result,
734
32
                                                            check_overflow_for_decimal);
735
32
                                return true;
736
32
                            })) {
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
32
            }
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
32
        return res;
749
32
    }
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
47
                              bool check_overflow_for_decimal) const {
697
47
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
47
        DCHECK(column_right_ptr != nullptr);
699
700
47
        ColumnPtr res = nullptr;
701
47
        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
47
            } else {
722
47
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
47
                                         DataTypeDecimal256>(
724
47
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
47
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
47
                                        type_left, type_right, type_result);
727
47
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
47
                                auto src = column_right_ptr
729
47
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
47
                                std::memcpy(&tmp, &src, sizeof(src));
731
47
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
47
                                                            type_right, max_and_multiplier.first,
733
47
                                                            max_and_multiplier.second, type_result,
734
47
                                                            check_overflow_for_decimal);
735
47
                                return true;
736
47
                            })) {
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
47
            }
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
47
        return res;
749
47
    }
_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
303
                              bool check_overflow_for_decimal) const {
697
303
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
303
        DCHECK(column_right_ptr != nullptr);
699
700
303
        ColumnPtr res = nullptr;
701
303
        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
303
            } else {
722
303
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
303
                                         DataTypeDecimal256>(
724
303
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
303
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
303
                                        type_left, type_right, type_result);
727
303
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
303
                                auto src = column_right_ptr
729
303
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
303
                                std::memcpy(&tmp, &src, sizeof(src));
731
303
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
303
                                                            type_right, max_and_multiplier.first,
733
303
                                                            max_and_multiplier.second, type_result,
734
303
                                                            check_overflow_for_decimal);
735
303
                                return true;
736
303
                            })) {
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
303
            }
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
303
        return res;
749
303
    }
_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
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_5EEESD_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
        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
1
        } else {
743
1
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
1
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
1
            std::memcpy(&tmp, &src, sizeof(src));
746
1
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
1
        }
748
1
        return res;
749
1
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
14.5k
                              bool check_overflow_for_decimal) const {
697
14.5k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
14.5k
        DCHECK(column_right_ptr != nullptr);
699
700
14.5k
        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
14.5k
        } else {
743
14.5k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
14.5k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
14.5k
            std::memcpy(&tmp, &src, sizeof(src));
746
14.5k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
14.5k
        }
748
14.5k
        return res;
749
14.5k
    }
_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
255
                              bool check_overflow_for_decimal) const {
697
255
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
255
        DCHECK(column_right_ptr != nullptr);
699
700
255
        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
255
        } else {
743
255
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
255
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
255
            std::memcpy(&tmp, &src, sizeof(src));
746
255
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
255
        }
748
255
        return res;
749
255
    }
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
80
                              bool check_overflow_for_decimal) const {
755
80
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
80
        DCHECK(column_left_ptr != nullptr);
757
758
80
        ColumnPtr res = nullptr;
759
80
        if constexpr (result_is_decimal) {
760
80
            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
79
            } else {
780
79
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
79
                                         DataTypeDecimal256>(
782
79
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
79
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
79
                                        type_left, type_right, type_result);
785
79
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
79
                                auto src = column_left_ptr
787
79
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
79
                                std::memcpy(&tmp, &src, sizeof(src));
789
79
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
79
                                                            type_right, max_and_multiplier.first,
791
79
                                                            max_and_multiplier.second, type_result,
792
79
                                                            check_overflow_for_decimal);
793
79
                                return true;
794
79
                            })) {
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
66
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
66
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
66
                                        type_left, type_right, type_result);
785
66
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
66
                                auto src = column_left_ptr
787
66
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
66
                                std::memcpy(&tmp, &src, sizeof(src));
789
66
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
66
                                                            type_right, max_and_multiplier.first,
791
66
                                                            max_and_multiplier.second, type_result,
792
66
                                                            check_overflow_for_decimal);
793
66
                                return true;
794
66
                            })) {
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
79
            }
800
80
        } 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
80
        return res;
807
80
    }
_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
66
                              bool check_overflow_for_decimal) const {
755
66
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
66
        DCHECK(column_left_ptr != nullptr);
757
758
66
        ColumnPtr res = nullptr;
759
66
        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
66
            } else {
780
66
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
66
                                         DataTypeDecimal256>(
782
66
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
66
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
66
                                        type_left, type_right, type_result);
785
66
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
66
                                auto src = column_left_ptr
787
66
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
66
                                std::memcpy(&tmp, &src, sizeof(src));
789
66
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
66
                                                            type_right, max_and_multiplier.first,
791
66
                                                            max_and_multiplier.second, type_result,
792
66
                                                            check_overflow_for_decimal);
793
66
                                return true;
794
66
                            })) {
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
66
            }
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
66
        return res;
807
66
    }
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
14.3k
                            bool check_overflow_for_decimal) const {
813
14.3k
        ColumnPtr res = nullptr;
814
14.3k
        if constexpr (result_is_decimal) {
815
10.3k
            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
10.2k
            } else {
832
10.2k
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
10.2k
                                         DataTypeDecimal256>(
834
10.2k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
10.2k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
10.2k
                                        type_left, type_right, type_result);
837
10.2k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
10.2k
                                                          column_right->get_ptr(), type_left,
839
10.2k
                                                          type_right, max_and_multiplier.first,
840
10.2k
                                                          max_and_multiplier.second, type_result,
841
10.2k
                                                          check_overflow_for_decimal);
842
10.2k
                                return true;
843
10.2k
                            })) {
_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
6.43k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
6.43k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
6.43k
                                        type_left, type_right, type_result);
837
6.43k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
6.43k
                                                          column_right->get_ptr(), type_left,
839
6.43k
                                                          type_right, max_and_multiplier.first,
840
6.43k
                                                          max_and_multiplier.second, type_result,
841
6.43k
                                                          check_overflow_for_decimal);
842
6.43k
                                return true;
843
6.43k
                            })) {
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
9
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
9
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
9
                                        type_left, type_right, type_result);
837
9
                                res = Impl::vector_vector(column_left->get_ptr(),
838
9
                                                          column_right->get_ptr(), type_left,
839
9
                                                          type_right, max_and_multiplier.first,
840
9
                                                          max_and_multiplier.second, type_result,
841
9
                                                          check_overflow_for_decimal);
842
9
                                return true;
843
9
                            })) {
_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
3.42k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
3.42k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
3.42k
                                        type_left, type_right, type_result);
837
3.42k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
3.42k
                                                          column_right->get_ptr(), type_left,
839
3.42k
                                                          type_right, max_and_multiplier.first,
840
3.42k
                                                          max_and_multiplier.second, type_result,
841
3.42k
                                                          check_overflow_for_decimal);
842
3.42k
                                return true;
843
3.42k
                            })) {
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
85
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
85
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
85
                                        type_left, type_right, type_result);
837
85
                                res = Impl::vector_vector(column_left->get_ptr(),
838
85
                                                          column_right->get_ptr(), type_left,
839
85
                                                          type_right, max_and_multiplier.first,
840
85
                                                          max_and_multiplier.second, type_result,
841
85
                                                          check_overflow_for_decimal);
842
85
                                return true;
843
85
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Line
Count
Source
834
64
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
64
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
64
                                        type_left, type_right, type_result);
837
64
                                res = Impl::vector_vector(column_left->get_ptr(),
838
64
                                                          column_right->get_ptr(), type_left,
839
64
                                                          type_right, max_and_multiplier.first,
840
64
                                                          max_and_multiplier.second, type_result,
841
64
                                                          check_overflow_for_decimal);
842
64
                                return true;
843
64
                            })) {
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
37
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
37
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
37
                                        type_left, type_right, type_result);
837
37
                                res = Impl::vector_vector(column_left->get_ptr(),
838
37
                                                          column_right->get_ptr(), type_left,
839
37
                                                          type_right, max_and_multiplier.first,
840
37
                                                          max_and_multiplier.second, type_result,
841
37
                                                          check_overflow_for_decimal);
842
37
                                return true;
843
37
                            })) {
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
15
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
15
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
15
                                        type_left, type_right, type_result);
837
15
                                res = Impl::vector_vector(column_left->get_ptr(),
838
15
                                                          column_right->get_ptr(), type_left,
839
15
                                                          type_right, max_and_multiplier.first,
840
15
                                                          max_and_multiplier.second, type_result,
841
15
                                                          check_overflow_for_decimal);
842
15
                                return true;
843
15
                            })) {
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.2k
            }
849
10.3k
        } else {
850
3.98k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
3.98k
        }
852
10.3k
        return res;
853
14.3k
    }
_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
6.43k
                            bool check_overflow_for_decimal) const {
813
6.43k
        ColumnPtr res = nullptr;
814
6.43k
        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.43k
            } else {
832
6.43k
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
6.43k
                                         DataTypeDecimal256>(
834
6.43k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
6.43k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
6.43k
                                        type_left, type_right, type_result);
837
6.43k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
6.43k
                                                          column_right->get_ptr(), type_left,
839
6.43k
                                                          type_right, max_and_multiplier.first,
840
6.43k
                                                          max_and_multiplier.second, type_result,
841
6.43k
                                                          check_overflow_for_decimal);
842
6.43k
                                return true;
843
6.43k
                            })) {
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.43k
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
6.43k
        return res;
853
6.43k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_30EEESt10shared_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_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
3.42k
                            bool check_overflow_for_decimal) const {
813
3.42k
        ColumnPtr res = nullptr;
814
3.42k
        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
3.42k
            } else {
832
3.42k
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
3.42k
                                         DataTypeDecimal256>(
834
3.42k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
3.42k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
3.42k
                                        type_left, type_right, type_result);
837
3.42k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
3.42k
                                                          column_right->get_ptr(), type_left,
839
3.42k
                                                          type_right, max_and_multiplier.first,
840
3.42k
                                                          max_and_multiplier.second, type_result,
841
3.42k
                                                          check_overflow_for_decimal);
842
3.42k
                                return true;
843
3.42k
                            })) {
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.42k
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
3.42k
        return res;
853
3.42k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
149
                            bool check_overflow_for_decimal) const {
813
149
        ColumnPtr res = nullptr;
814
149
        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
149
            } else {
832
149
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
149
                                         DataTypeDecimal256>(
834
149
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
149
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
149
                                        type_left, type_right, type_result);
837
149
                                res = Impl::vector_vector(column_left->get_ptr(),
838
149
                                                          column_right->get_ptr(), type_left,
839
149
                                                          type_right, max_and_multiplier.first,
840
149
                                                          max_and_multiplier.second, type_result,
841
149
                                                          check_overflow_for_decimal);
842
149
                                return true;
843
149
                            })) {
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
149
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
149
        return res;
853
149
    }
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
37
                            bool check_overflow_for_decimal) const {
813
37
        ColumnPtr res = nullptr;
814
37
        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
37
            } else {
832
37
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
37
                                         DataTypeDecimal256>(
834
37
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
37
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
37
                                        type_left, type_right, type_result);
837
37
                                res = Impl::vector_vector(column_left->get_ptr(),
838
37
                                                          column_right->get_ptr(), type_left,
839
37
                                                          type_right, max_and_multiplier.first,
840
37
                                                          max_and_multiplier.second, type_result,
841
37
                                                          check_overflow_for_decimal);
842
37
                                return true;
843
37
                            })) {
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
37
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
37
        return res;
853
37
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
15
                            bool check_overflow_for_decimal) const {
813
15
        ColumnPtr res = nullptr;
814
15
        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
15
            } else {
832
15
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
15
                                         DataTypeDecimal256>(
834
15
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
15
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
15
                                        type_left, type_right, type_result);
837
15
                                res = Impl::vector_vector(column_left->get_ptr(),
838
15
                                                          column_right->get_ptr(), type_left,
839
15
                                                          type_right, max_and_multiplier.first,
840
15
                                                          max_and_multiplier.second, type_result,
841
15
                                                          check_overflow_for_decimal);
842
15
                                return true;
843
15
                            })) {
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
15
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
15
        return res;
853
15
    }
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
37
                            bool check_overflow_for_decimal) const {
813
37
        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
37
        } else {
850
37
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
37
        }
852
37
        return res;
853
37
    }
_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.12k
                            bool check_overflow_for_decimal) const {
813
1.12k
        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.12k
        } else {
850
1.12k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
1.12k
        }
852
1.12k
        return res;
853
1.12k
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_7EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
152
                            bool check_overflow_for_decimal) const {
813
152
        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
152
        } else {
850
152
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
152
        }
852
152
        return res;
853
152
    }
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
2.61k
                            bool check_overflow_for_decimal) const {
813
2.61k
        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
2.61k
        } else {
850
2.61k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
2.61k
        }
852
2.61k
        return res;
853
2.61k
    }
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