Coverage Report

Created: 2026-10-22 00:25

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.81M
                                                                                          Arg b) {
56
2.81M
        return a * b;
57
2.81M
    }
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
291
                                                                                          Arg b) {
56
291
        return a * b;
57
291
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE5applyEll
Line
Count
Source
55
465k
                                                                                          Arg b) {
56
465k
        return a * b;
57
465k
    }
_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
31
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
31
        auto column_result = ColumnType ::create(1);
61
31
        column_result->get_element(0) = apply(a, b);
62
31
        return column_result;
63
31
    }
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
20
    static ColumnPtr constant_constant(Arg a, Arg b) {
60
20
        auto column_result = ColumnType ::create(1);
61
20
        column_result->get_element(0) = apply(a, b);
62
20
        return column_result;
63
20
    }
_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
11.8k
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
11.8k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
11.8k
        auto column_result = ColumnType::create(column_left->size());
68
69
11.8k
        auto& a = column_left_ptr->get_data();
70
11.8k
        auto& c = column_result->get_data();
71
11.8k
        size_t size = a.size();
72
1.52M
        for (size_t i = 0; i < size; ++i) {
73
1.50M
            c[i] = apply(a[i], b);
74
1.50M
        }
75
11.8k
        return column_result;
76
11.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
4
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
4
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
4
        auto column_result = ColumnType::create(column_left->size());
68
69
4
        auto& a = column_left_ptr->get_data();
70
4
        auto& c = column_result->get_data();
71
4
        size_t size = a.size();
72
10
        for (size_t i = 0; i < size; ++i) {
73
6
            c[i] = apply(a[i], b);
74
6
        }
75
4
        return column_result;
76
4
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS4_EEl
Line
Count
Source
65
11.5k
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
11.5k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
11.5k
        auto column_result = ColumnType::create(column_left->size());
68
69
11.5k
        auto& a = column_left_ptr->get_data();
70
11.5k
        auto& c = column_result->get_data();
71
11.5k
        size_t size = a.size();
72
464k
        for (size_t i = 0; i < size; ++i) {
73
452k
            c[i] = apply(a[i], b);
74
452k
        }
75
11.5k
        return column_result;
76
11.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
258
    static ColumnPtr vector_constant(ColumnPtr column_left, Arg b) {
66
258
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
67
258
        auto column_result = ColumnType::create(column_left->size());
68
69
258
        auto& a = column_left_ptr->get_data();
70
258
        auto& c = column_result->get_data();
71
258
        size_t size = a.size();
72
1.05M
        for (size_t i = 0; i < size; ++i) {
73
1.05M
            c[i] = apply(a[i], b);
74
1.05M
        }
75
258
        return column_result;
76
258
    }
77
78
6
    static ColumnPtr constant_vector(Arg a, ColumnPtr column_right) {
79
6
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
80
6
        auto column_result = ColumnType::create(column_right->size());
81
6
        DCHECK(column_right_ptr != nullptr);
82
83
6
        auto& b = column_right_ptr->get_data();
84
6
        auto& c = column_result->get_data();
85
6
        size_t size = b.size();
86
18
        for (size_t i = 0; i < size; ++i) {
87
12
            c[i] = apply(a, b[i]);
88
12
        }
89
6
        return column_result;
90
6
    }
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
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE15constant_vectorElNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
78
6
    static ColumnPtr constant_vector(Arg a, ColumnPtr column_right) {
79
6
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
80
6
        auto column_result = ColumnType::create(column_right->size());
81
6
        DCHECK(column_right_ptr != nullptr);
82
83
6
        auto& b = column_right_ptr->get_data();
84
6
        auto& c = column_result->get_data();
85
6
        size_t size = b.size();
86
18
        for (size_t i = 0; i < size; ++i) {
87
12
            c[i] = apply(a, b[i]);
88
12
        }
89
6
        return column_result;
90
6
    }
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
4.02k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
4.02k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
4.02k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
4.02k
        auto column_result = ColumnType::create(column_left->size());
97
98
4.02k
        auto& a = column_left_ptr->get_data();
99
4.02k
        auto& b = column_right_ptr->get_data();
100
4.02k
        auto& c = column_result->get_data();
101
4.02k
        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
4.02k
        return column_result;
106
4.02k
    }
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
63
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
63
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
63
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
63
        auto column_result = ColumnType::create(column_left->size());
97
98
63
        auto& a = column_left_ptr->get_data();
99
63
        auto& b = column_right_ptr->get_data();
100
63
        auto& c = column_result->get_data();
101
63
        size_t size = a.size();
102
344
        for (size_t i = 0; i < size; ++i) {
103
281
            c[i] = apply(a[i], b[i]);
104
281
        }
105
63
        return column_result;
106
63
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE6EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
972
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
972
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
972
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
972
        auto column_result = ColumnType::create(column_left->size());
97
98
972
        auto& a = column_left_ptr->get_data();
99
972
        auto& b = column_right_ptr->get_data();
100
972
        auto& c = column_result->get_data();
101
972
        size_t size = a.size();
102
13.2k
        for (size_t i = 0; i < size; ++i) {
103
12.2k
            c[i] = apply(a[i], b[i]);
104
12.2k
        }
105
972
        return column_result;
106
972
    }
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE7EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
149
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
149
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
149
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
149
        auto column_result = ColumnType::create(column_left->size());
97
98
149
        auto& a = column_left_ptr->get_data();
99
149
        auto& b = column_right_ptr->get_data();
100
149
        auto& c = column_result->get_data();
101
149
        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
149
        return column_result;
106
149
    }
Unexecuted instantiation: _ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE8EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
_ZN5doris20MultiplyIntegralImplILNS_13PrimitiveTypeE9EE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS4_EES7_
Line
Count
Source
92
2.80k
    static ColumnPtr vector_vector(ColumnPtr column_left, ColumnPtr column_right) {
93
2.80k
        const auto* column_left_ptr = assert_cast<const ColumnType*>(column_left.get());
94
2.80k
        const auto* column_right_ptr = assert_cast<const ColumnType*>(column_right.get());
95
96
2.80k
        auto column_result = ColumnType::create(column_left->size());
97
98
2.80k
        auto& a = column_left_ptr->get_data();
99
2.80k
        auto& b = column_right_ptr->get_data();
100
2.80k
        auto& c = column_result->get_data();
101
2.80k
        size_t size = a.size();
102
1.29M
        for (size_t i = 0; i < size; ++i) {
103
1.28M
            c[i] = apply(a[i], b[i]);
104
1.28M
        }
105
2.80k
        return column_result;
106
2.80k
    }
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
65
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
65
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
65
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
65
    }
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
56
            ArgNativeTypeA a, ArgNativeTypeB b) {
137
56
        return static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(
138
56
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a) * b);
139
56
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEnN4wide7integerILm256EiEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEi
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEl
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEEn
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_
140
141
    template <PrimitiveType Result = TYPE_DECIMALV2>
142
15
    static inline DecimalV2Value apply(const DecimalV2Value& a, const DecimalV2Value& b) {
143
15
        return a * b;
144
15
    }
145
146
    /// Apply operation and check overflow. It's used for Decimal operations. @returns true if overflowed, false otherwise.
147
    template <PrimitiveType Result>
148
        requires(is_decimal(Result))
149
    static inline bool apply(ArgNativeTypeA a, ArgNativeTypeB b,
150
5.60M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
5.60M
        return common::mul_overflow(
152
5.60M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
5.60M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
5.60M
    }
_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
10
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
10
        return common::mul_overflow(
152
10
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
10
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
10
    }
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
29.9k
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
29.9k
        return common::mul_overflow(
152
29.9k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
29.9k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
29.9k
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbliRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
13
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
13
        return common::mul_overflow(
152
13
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
13
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
13
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbliRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbllRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbllRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbllRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
3.19M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
3.19M
        return common::mul_overflow(
152
3.19M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
3.19M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
3.19M
    }
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
12.7k
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
12.7k
        return common::mul_overflow(
152
12.7k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
12.7k
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
12.7k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbniRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEEbnlRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEEbnlRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEEbnlRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
2.36M
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
2.36M
        return common::mul_overflow(
152
2.36M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
2.36M
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
2.36M
    }
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
138
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
138
        return common::mul_overflow(
152
138
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
138
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
138
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEEbnnRNS_19PrimitiveTypeTraitsIXT_EE7CppType10NativeTypeE
Line
Count
Source
150
268
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
268
        return common::mul_overflow(
152
268
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
268
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
268
    }
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
51
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
51
        return common::mul_overflow(
152
51
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
51
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
51
    }
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
15
                             typename PrimitiveTypeTraits<Result>::CppType::NativeType& c) {
151
15
        return common::mul_overflow(
152
15
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(a),
153
15
                static_cast<typename PrimitiveTypeTraits<Result>::CppType::NativeType>(b), c);
154
15
    }
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
7
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
163
7
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
164
165
7
        if (check_overflow_for_decimal) {
166
7
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
167
7
                    apply<true, true>(a, b, *type_left, *type_right, res_data_type,
168
7
                                      max_result_number, scale_diff_multiplier));
169
7
        } 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
7
        return column_result;
176
7
    }
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
4
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
163
4
        auto column_result = ColumnDecimal<ResultType>::create(1, res_data_type.get_scale());
164
165
4
        if (check_overflow_for_decimal) {
166
4
            column_result->get_element(0) = typename PrimitiveTypeTraits<ResultType>::CppType(
167
4
                    apply<true, true>(a, b, *type_left, *type_right, res_data_type,
168
4
                                      max_result_number, scale_diff_multiplier));
169
4
        } 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
4
        return column_result;
176
4
    }
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
629
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
629
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
629
        auto column_result =
209
629
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
629
        DCHECK(column_left_ptr != nullptr);
211
212
629
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
629
        const auto& a = column_left_ptr->get_data();
214
629
        auto& c = column_result->get_data();
215
629
        std::visit(
216
629
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
43.0k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
42.3k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
42.3k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
42.3k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
42.3k
                                        max_result_number, scale_diff_multiplier));
222
42.3k
                    }
223
629
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Line
Count
Source
216
12
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
30
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
18
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
18
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
18
                                        a[i], b, *type_left, *type_right, res_data_type,
221
18
                                        max_result_number, scale_diff_multiplier));
222
18
                    }
223
12
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Line
Count
Source
216
22
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
52
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
30
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
30
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
30
                                        a[i], b, *type_left, *type_right, res_data_type,
221
30
                                        max_result_number, scale_diff_multiplier));
222
30
                    }
223
22
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_IbLb1EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_IbLb0EEEEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_EEDaSN_SO_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_IbLb1EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_IbLb0EEEEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_EEDaSP_SQ_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESX_IbLb1EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESX_IbLb0EEEEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESY_EEDaST_SU_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESU_IbLb0EEEEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESV_EEDaSQ_SR_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESV_EEDaSQ_SR_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESU_IbLb1EEEEDaSQ_SR_
Line
Count
Source
216
47
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
29.9k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
29.9k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
29.9k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
29.9k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
29.9k
                                        max_result_number, scale_diff_multiplier));
222
29.9k
                    }
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
541
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
12.9k
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
12.4k
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
12.4k
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
12.4k
                                        a[i], b, *type_left, *type_right, res_data_type,
221
12.4k
                                        max_result_number, scale_diff_multiplier));
222
12.4k
                    }
223
541
                },
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
629
                make_bool_variant(need_adjust_scale),
225
629
                make_bool_variant(check_overflow_for_decimal));
226
227
629
        return column_result;
228
629
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Line
Count
Source
206
12
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
12
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
12
        auto column_result =
209
12
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
12
        DCHECK(column_left_ptr != nullptr);
211
212
12
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
12
        const auto& a = column_left_ptr->get_data();
214
12
        auto& c = column_result->get_data();
215
12
        std::visit(
216
12
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
12
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
12
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
12
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
12
                                        a[i], b, *type_left, *type_right, res_data_type,
221
12
                                        max_result_number, scale_diff_multiplier));
222
12
                    }
223
12
                },
224
12
                make_bool_variant(need_adjust_scale),
225
12
                make_bool_variant(check_overflow_for_decimal));
226
227
12
        return column_result;
228
12
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Line
Count
Source
206
22
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
22
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
22
        auto column_result =
209
22
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
22
        DCHECK(column_left_ptr != nullptr);
211
212
22
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
22
        const auto& a = column_left_ptr->get_data();
214
22
        auto& c = column_result->get_data();
215
22
        std::visit(
216
22
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
22
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
22
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
22
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
22
                                        a[i], b, *type_left, *type_right, res_data_type,
221
22
                                        max_result_number, scale_diff_multiplier));
222
22
                    }
223
22
                },
224
22
                make_bool_variant(need_adjust_scale),
225
22
                make_bool_variant(check_overflow_for_decimal));
226
227
22
        return column_result;
228
22
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_28EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIlEEPKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_12Decimal128V3EPKNS_15DataTypeDecimalILS1_28EEEPKNSA_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15vector_constantILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIN4wide7integerILm256EiEEEEPKNS_15DataTypeDecimalILS1_28EEEPKNSE_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15vector_constantILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_NS_7DecimalIiEEPKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
206
47
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
47
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
47
        auto column_result =
209
47
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
47
        DCHECK(column_left_ptr != nullptr);
211
212
47
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
47
        const auto& a = column_left_ptr->get_data();
214
47
        auto& c = column_result->get_data();
215
47
        std::visit(
216
47
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
47
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
47
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
47
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
47
                                        a[i], b, *type_left, *type_right, res_data_type,
221
47
                                        max_result_number, scale_diff_multiplier));
222
47
                    }
223
47
                },
224
47
                make_bool_variant(need_adjust_scale),
225
47
                make_bool_variant(check_overflow_for_decimal));
226
227
47
        return column_result;
228
47
    }
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
542
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
207
542
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
208
542
        auto column_result =
209
542
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
210
542
        DCHECK(column_left_ptr != nullptr);
211
212
542
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
213
542
        const auto& a = column_left_ptr->get_data();
214
542
        auto& c = column_result->get_data();
215
542
        std::visit(
216
542
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
217
542
                    for (size_t i = 0; i < column_left->size(); ++i) {
218
542
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
219
542
                                apply<need_adjust_scale, check_overflow_for_decimal>(
220
542
                                        a[i], b, *type_left, *type_right, res_data_type,
221
542
                                        max_result_number, scale_diff_multiplier));
222
542
                    }
223
542
                },
224
542
                make_bool_variant(need_adjust_scale),
225
542
                make_bool_variant(check_overflow_for_decimal));
226
227
542
        return column_result;
228
542
    }
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
343
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
343
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
343
        auto column_result =
269
343
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
343
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
343
        auto& b = column_right_ptr->get_data();
273
343
        auto& c = column_result->get_data();
274
343
        std::visit(
275
343
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
3.66k
                    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
343
                },
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
4
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
8
                    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
                },
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
331
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
3.63k
                    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
331
                },
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
343
                make_bool_variant(need_adjust_scale),
284
343
                make_bool_variant(check_overflow_for_decimal));
285
343
        return column_result;
286
343
    }
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
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_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
331
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
331
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
331
        auto column_result =
269
331
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
331
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
331
        auto& b = column_right_ptr->get_data();
273
331
        auto& c = column_result->get_data();
274
331
        std::visit(
275
331
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
331
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
331
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
331
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
331
                                        a, b[i], *type_left, *type_right, res_data_type,
280
331
                                        max_result_number, scale_diff_multiplier));
281
331
                    }
282
331
                },
283
331
                make_bool_variant(need_adjust_scale),
284
331
                make_bool_variant(check_overflow_for_decimal));
285
331
        return column_result;
286
331
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIiEES8_PKNS_15DataTypeDecimalILS1_28EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
266
4
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
4
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
4
        auto column_result =
269
4
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
4
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
4
        auto& b = column_right_ptr->get_data();
273
4
        auto& c = column_result->get_data();
274
4
        std::visit(
275
4
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
4
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
4
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
4
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
4
                                        a, b[i], *type_left, *type_right, res_data_type,
280
4
                                        max_result_number, scale_diff_multiplier));
281
4
                    }
282
4
                },
283
4
                make_bool_variant(need_adjust_scale),
284
4
                make_bool_variant(check_overflow_for_decimal));
285
4
        return column_result;
286
4
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Line
Count
Source
266
3
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
3
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
3
        auto column_result =
269
3
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
3
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
3
        auto& b = column_right_ptr->get_data();
273
3
        auto& c = column_result->get_data();
274
3
        std::visit(
275
3
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
3
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
3
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
3
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
3
                                        a, b[i], *type_left, *type_right, res_data_type,
280
3
                                        max_result_number, scale_diff_multiplier));
281
3
                    }
282
3
                },
283
3
                make_bool_variant(need_adjust_scale),
284
3
                make_bool_variant(check_overflow_for_decimal));
285
3
        return column_result;
286
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEESE_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESJ_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Line
Count
Source
266
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
267
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
268
1
        auto column_result =
269
1
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
270
271
1
        bool need_adjust_scale = scale_diff_multiplier.value > 1;
272
1
        auto& b = column_right_ptr->get_data();
273
1
        auto& c = column_result->get_data();
274
1
        std::visit(
275
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
276
1
                    for (size_t i = 0; i < column_right->size(); ++i) {
277
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
278
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
279
1
                                        a, b[i], *type_left, *type_right, res_data_type,
280
1
                                        max_result_number, scale_diff_multiplier));
281
1
                    }
282
1
                },
283
1
                make_bool_variant(need_adjust_scale),
284
1
                make_bool_variant(check_overflow_for_decimal));
285
1
        return column_result;
286
1
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIlEES8_PKNS_15DataTypeDecimalILS1_29EEEPKNSB_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSB_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_12Decimal128V3ES8_PKNS_15DataTypeDecimalILS1_30EEEPKNSA_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESL_RKNSA_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEEPKNSE_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESP_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_28EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_29EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_30EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE15constant_vectorILS1_35EQaaclL_ZNS_10is_decimalES1_ETL0__EneTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_7DecimalIN4wide7integerILm256EiEEEES8_PKNS_15DataTypeDecimalILS1_35EEESH_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESM_RKNSE_IXT_EEEb
287
288
    template <PrimitiveType ResultType>
289
        requires(ResultType == TYPE_DECIMALV2)
290
    static ColumnPtr constant_vector(
291
            ArgA a, ColumnPtr column_right, const DataTypeA* type_left, const DataTypeB* type_right,
292
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
293
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
294
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
295
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
296
1
        auto column_result =
297
1
                ColumnDecimal<ResultType>::create(column_right->size(), res_data_type.get_scale());
298
299
1
        bool need_adjust_scale = scale_diff_multiplier.value() > 1;
300
1
        auto& b = column_right_ptr->get_data();
301
1
        auto& c = column_result->get_data();
302
1
        std::visit(
303
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
304
2
                    for (size_t i = 0; i < column_right->size(); ++i) {
305
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
306
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
307
1
                                        a.value(), b[i].value(), *type_left, *type_right,
308
1
                                        res_data_type, max_result_number, scale_diff_multiplier));
309
1
                    }
310
1
                },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESR_EEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_IbLb1EEEEDaSM_SN_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_IbLb0EEEEDaSM_SN_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE15constant_vectorILS1_20EQeqTL0__LS1_20EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EENS_14DecimalV2ValueES8_PKNS_15DataTypeDecimalILS1_20EEESD_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESI_RKNSA_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESR_EEDaSM_SN_
Line
Count
Source
303
1
                [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
304
2
                    for (size_t i = 0; i < column_right->size(); ++i) {
305
1
                        c[i] = typename DataTypeDecimal<ResultType>::FieldType(
306
1
                                apply<need_adjust_scale, check_overflow_for_decimal>(
307
1
                                        a.value(), b[i].value(), *type_left, *type_right,
308
1
                                        res_data_type, max_result_number, scale_diff_multiplier));
309
1
                    }
310
1
                },
311
1
                make_bool_variant(need_adjust_scale),
312
1
                make_bool_variant(check_overflow_for_decimal));
313
1
        return column_result;
314
1
    }
315
316
    /*
317
    select 999999999999999999999999999 * 999999999999999999999999999;
318
    999999999999999999999999998000000000.000000000000000001 54 digits
319
    */
320
    template <bool check_overflow>
321
    NO_SANITIZE_UNDEFINED static void vector_vector(
322
            const ColumnDecimal128V2::Container::value_type* __restrict a,
323
            const ColumnDecimal128V2::Container::value_type* __restrict b,
324
154
            ColumnDecimal128V2::Container::value_type* c, size_t size) {
325
154
        auto sng_uptr = std::unique_ptr<int8_t[]>(new int8_t[size]);
326
154
        int8_t* sgn = sng_uptr.get();
327
154
        auto max = DecimalV2Value::get_max_decimal();
328
154
        auto min = DecimalV2Value::get_min_decimal();
329
330
1.08k
        for (int i = 0; i < size; i++) {
331
933
            sgn[i] = ((DecimalV2Value(a[i]).value() > 0) && (DecimalV2Value(b[i]).value() > 0)) ||
332
933
                                     ((DecimalV2Value(a[i]).value() < 0) &&
333
219
                                      (DecimalV2Value(b[i]).value() < 0))
334
933
                             ? 1
335
933
                     : ((DecimalV2Value(a[i]).value() == 0) || (DecimalV2Value(b[i]).value() == 0))
336
219
                             ? 0
337
219
                             : -1;
338
933
        }
339
340
1.08k
        for (int i = 0; i < size; i++) {
341
933
            if constexpr (check_overflow) {
342
933
                int128_t i128_mul_result;
343
933
                if (common::mul_overflow(DecimalV2Value(a[i]).value(), DecimalV2Value(b[i]).value(),
344
933
                                         i128_mul_result)) {
345
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
346
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
347
0
                                    DecimalV2Value(a[i]).to_string(), "multiply",
348
0
                                    DecimalV2Value(b[i]).to_string(),
349
0
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
350
0
                }
351
933
                c[i] = DecimalV2Value((i128_mul_result - sgn[i]) / DecimalV2Value::ONE_BILLION +
352
933
                                      sgn[i]);
353
933
                if (c[i].value() > max.value() || c[i].value() < min.value()) {
354
1
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
355
1
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
356
1
                                    DecimalV2Value(a[i]).to_string(), "multiply",
357
1
                                    DecimalV2Value(b[i]).to_string(),
358
1
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
359
1
                }
360
933
            } else {
361
0
                c[i] = DecimalV2Value(
362
0
                        (DecimalV2Value(a[i]).value() * DecimalV2Value(b[i]).value() - sgn[i]) /
363
0
                                DecimalV2Value::ONE_BILLION +
364
0
                        sgn[i]);
365
0
            }
366
933
        }
367
154
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE13vector_vectorILb1EEEvPKNS_14DecimalV2ValueES6_PS4_m
Line
Count
Source
324
154
            ColumnDecimal128V2::Container::value_type* c, size_t size) {
325
154
        auto sng_uptr = std::unique_ptr<int8_t[]>(new int8_t[size]);
326
154
        int8_t* sgn = sng_uptr.get();
327
154
        auto max = DecimalV2Value::get_max_decimal();
328
154
        auto min = DecimalV2Value::get_min_decimal();
329
330
1.08k
        for (int i = 0; i < size; i++) {
331
933
            sgn[i] = ((DecimalV2Value(a[i]).value() > 0) && (DecimalV2Value(b[i]).value() > 0)) ||
332
933
                                     ((DecimalV2Value(a[i]).value() < 0) &&
333
219
                                      (DecimalV2Value(b[i]).value() < 0))
334
933
                             ? 1
335
933
                     : ((DecimalV2Value(a[i]).value() == 0) || (DecimalV2Value(b[i]).value() == 0))
336
219
                             ? 0
337
219
                             : -1;
338
933
        }
339
340
1.08k
        for (int i = 0; i < size; i++) {
341
933
            if constexpr (check_overflow) {
342
933
                int128_t i128_mul_result;
343
933
                if (common::mul_overflow(DecimalV2Value(a[i]).value(), DecimalV2Value(b[i]).value(),
344
933
                                         i128_mul_result)) {
345
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
346
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
347
0
                                    DecimalV2Value(a[i]).to_string(), "multiply",
348
0
                                    DecimalV2Value(b[i]).to_string(),
349
0
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
350
0
                }
351
933
                c[i] = DecimalV2Value((i128_mul_result - sgn[i]) / DecimalV2Value::ONE_BILLION +
352
933
                                      sgn[i]);
353
933
                if (c[i].value() > max.value() || c[i].value() < min.value()) {
354
1
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
355
1
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
356
1
                                    DecimalV2Value(a[i]).to_string(), "multiply",
357
1
                                    DecimalV2Value(b[i]).to_string(),
358
1
                                    DecimalV2Value(i128_mul_result).to_string(), "decimalv2");
359
1
                }
360
            } else {
361
                c[i] = DecimalV2Value(
362
                        (DecimalV2Value(a[i]).value() * DecimalV2Value(b[i]).value() - sgn[i]) /
363
                                DecimalV2Value::ONE_BILLION +
364
                        sgn[i]);
365
            }
366
933
        }
367
154
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE13vector_vectorILb0EEEvPKNS_14DecimalV2ValueES6_PS4_m
368
369
    template <typename T>
370
0
    static int8_t sgn(const T& x) {
371
0
        return (x > 0) ? 1 : ((x < 0) ? -1 : 0);
372
0
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE3sgnIN4wide7integerILm256EiEEEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnIiEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnIlEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnInEEaRKT_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE3sgnIN4wide7integerILm256EiEEEEaRKT_
373
374
    template <PrimitiveType ResultType>
375
        requires(is_decimal(ResultType))
376
    static ColumnPtr vector_vector(
377
            ColumnPtr column_left, ColumnPtr column_right, const DataTypeA* type_left,
378
            const DataTypeB* type_right,
379
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
380
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier,
381
3.37k
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
3.37k
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
3.37k
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
3.37k
        auto column_result =
386
3.37k
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
3.37k
        auto sz = column_left->size();
388
3.37k
        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
18.4E
            } else {
394
18.4E
                vector_vector<false>(column_left_ptr->get_data().data(),
395
18.4E
                                     column_right_ptr->get_data().data(),
396
18.4E
                                     column_result->get_data().data(), sz);
397
18.4E
            }
398
3.22k
        } else {
399
3.22k
            const auto& a = column_left_ptr->get_data().data();
400
3.22k
            const auto& b = column_right_ptr->get_data().data();
401
3.22k
            const auto& c = column_result->get_data().data();
402
3.22k
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
3.22k
            std::visit(
404
3.23k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
5.56M
                        for (size_t i = 0; i < sz; i++) {
406
5.55M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
5.55M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
5.55M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
5.55M
                                            max_result_number, scale_diff_multiplier));
410
5.55M
                        }
411
3.23k
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
26
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
64
                        for (size_t i = 0; i < sz; i++) {
406
38
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
38
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
38
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
38
                                            max_result_number, scale_diff_multiplier));
410
38
                        }
411
26
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
10
                        for (size_t i = 0; i < sz; i++) {
406
6
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
6
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
6
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
6
                                            max_result_number, scale_diff_multiplier));
410
6
                        }
411
4
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
41
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
287
                        for (size_t i = 0; i < sz; i++) {
406
246
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
246
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
246
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
246
                                            max_result_number, scale_diff_multiplier));
410
246
                        }
411
41
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Line
Count
Source
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
8
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
4
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
3
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
6
                        for (size_t i = 0; i < sz; i++) {
406
3
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
3
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
3
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
3
                                            max_result_number, scale_diff_multiplier));
410
3
                        }
411
3
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
1
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
6
                        for (size_t i = 0; i < sz; i++) {
406
5
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
5
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
5
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
5
                                            max_result_number, scale_diff_multiplier));
410
5
                        }
411
1
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Line
Count
Source
404
5
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
12
                        for (size_t i = 0; i < sz; i++) {
406
7
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
7
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
7
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
7
                                            max_result_number, scale_diff_multiplier));
410
7
                        }
411
5
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
2.38k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
3.19M
                        for (size_t i = 0; i < sz; i++) {
406
3.19M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
3.19M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
3.19M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
3.19M
                                            max_result_number, scale_diff_multiplier));
410
3.19M
                        }
411
2.38k
                    },
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
463
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2.36M
                        for (size_t i = 0; i < sz; i++) {
406
2.36M
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2.36M
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2.36M
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2.36M
                                            max_result_number, scale_diff_multiplier));
410
2.36M
                        }
411
463
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Line
Count
Source
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
6
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
2
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESS_IbLb1EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESS_IbLb0EEEEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EEST_EEDaSO_SP_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESQ_EEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb0EESP_IbLb1EEEEDaSL_SM_
Line
Count
Source
404
9
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
22
                        for (size_t i = 0; i < sz; i++) {
406
13
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
13
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
13
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
13
                                            max_result_number, scale_diff_multiplier));
410
13
                        }
411
9
                    },
Unexecuted instantiation: _ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESP_IbLb0EEEEDaSL_SM_
_ZZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_30EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEbENKUlT_T0_E_clISt17integral_constantIbLb1EESQ_EEDaSL_SM_
Line
Count
Source
404
91
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
212
                        for (size_t i = 0; i < sz; i++) {
406
121
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
121
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
121
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
121
                                            max_result_number, scale_diff_multiplier));
410
121
                        }
411
91
                    },
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
79
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
347
                        for (size_t i = 0; i < sz; i++) {
406
268
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
268
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
268
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
268
                                            max_result_number, scale_diff_multiplier));
410
268
                        }
411
79
                    },
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
39
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
88
                        for (size_t i = 0; i < sz; i++) {
406
49
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
49
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
49
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
49
                                            max_result_number, scale_diff_multiplier));
410
49
                        }
411
39
                    },
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
10
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
20
                        for (size_t i = 0; i < sz; i++) {
406
10
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
10
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
10
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
10
                                            max_result_number, scale_diff_multiplier));
410
10
                        }
411
10
                    },
412
3.22k
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
3.22k
                    make_bool_variant(check_overflow_for_decimal));
414
415
3.22k
            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.22k
        }
426
427
3.37k
        return column_result;
428
3.37k
    }
_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
152
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
152
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
152
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
152
        auto column_result =
386
152
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
152
        auto sz = column_left->size();
388
152
        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
18.4E
            } else {
394
18.4E
                vector_vector<false>(column_left_ptr->get_data().data(),
395
18.4E
                                     column_right_ptr->get_data().data(),
396
18.4E
                                     column_result->get_data().data(), sz);
397
18.4E
            }
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
152
        return column_result;
428
152
    }
_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
25
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
25
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
25
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
25
        auto column_result =
386
25
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
25
        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
25
        } else {
399
25
            const auto& a = column_left_ptr->get_data().data();
400
25
            const auto& b = column_right_ptr->get_data().data();
401
25
            const auto& c = column_result->get_data().data();
402
25
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
25
            std::visit(
404
25
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
25
                        for (size_t i = 0; i < sz; i++) {
406
25
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
25
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
25
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
25
                                            max_result_number, scale_diff_multiplier));
410
25
                        }
411
25
                    },
412
25
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
25
                    make_bool_variant(check_overflow_for_decimal));
414
415
25
            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
25
        }
426
427
25
        return column_result;
428
25
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
2
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
2
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
2
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
2
        auto column_result =
386
2
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
2
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
2
        } else {
399
2
            const auto& a = column_left_ptr->get_data().data();
400
2
            const auto& b = column_right_ptr->get_data().data();
401
2
            const auto& c = column_result->get_data().data();
402
2
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
2
            std::visit(
404
2
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2
                        for (size_t i = 0; i < sz; i++) {
406
2
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2
                                            max_result_number, scale_diff_multiplier));
410
2
                        }
411
2
                    },
412
2
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
2
                    make_bool_variant(check_overflow_for_decimal));
414
415
2
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
2
        }
426
427
2
        return column_result;
428
2
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
4
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
4
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
4
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
4
        auto column_result =
386
4
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
4
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
4
        } else {
399
4
            const auto& a = column_left_ptr->get_data().data();
400
4
            const auto& b = column_right_ptr->get_data().data();
401
4
            const auto& c = column_result->get_data().data();
402
4
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
4
            std::visit(
404
4
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
4
                        for (size_t i = 0; i < sz; i++) {
406
4
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
4
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
4
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
4
                                            max_result_number, scale_diff_multiplier));
410
4
                        }
411
4
                    },
412
4
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
4
                    make_bool_variant(check_overflow_for_decimal));
414
415
4
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
4
        }
426
427
4
        return column_result;
428
4
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
45
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
45
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
45
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
45
        auto column_result =
386
45
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
45
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
45
        } else {
399
45
            const auto& a = column_left_ptr->get_data().data();
400
45
            const auto& b = column_right_ptr->get_data().data();
401
45
            const auto& c = column_result->get_data().data();
402
45
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
45
            std::visit(
404
45
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
45
                        for (size_t i = 0; i < sz; i++) {
406
45
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
45
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
45
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
45
                                            max_result_number, scale_diff_multiplier));
410
45
                        }
411
45
                    },
412
45
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
45
                    make_bool_variant(check_overflow_for_decimal));
414
415
45
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
45
        }
426
427
45
        return column_result;
428
45
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_30EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
3
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
3
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
3
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
3
        auto column_result =
386
3
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
3
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
3
        } else {
399
3
            const auto& a = column_left_ptr->get_data().data();
400
3
            const auto& b = column_right_ptr->get_data().data();
401
3
            const auto& c = column_result->get_data().data();
402
3
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
3
            std::visit(
404
3
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
3
                        for (size_t i = 0; i < sz; i++) {
406
3
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
3
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
3
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
3
                                            max_result_number, scale_diff_multiplier));
410
3
                        }
411
3
                    },
412
3
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
3
                    make_bool_variant(check_overflow_for_decimal));
414
415
3
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
3
        }
426
427
3
        return column_result;
428
3
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_35EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
1
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
1
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
1
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
1
        auto column_result =
386
1
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
1
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
1
        } else {
399
1
            const auto& a = column_left_ptr->get_data().data();
400
1
            const auto& b = column_right_ptr->get_data().data();
401
1
            const auto& c = column_result->get_data().data();
402
1
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
1
            std::visit(
404
1
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
1
                        for (size_t i = 0; i < sz; i++) {
406
1
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
1
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
1
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
1
                                            max_result_number, scale_diff_multiplier));
410
1
                        }
411
1
                    },
412
1
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
1
                    make_bool_variant(check_overflow_for_decimal));
414
415
1
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
1
        }
426
427
1
        return column_result;
428
1
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Line
Count
Source
381
5
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
5
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
5
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
5
        auto column_result =
386
5
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
5
        auto sz = column_left->size();
388
        if constexpr (ResultType == TYPE_DECIMALV2) {
389
            if (check_overflow_for_decimal) {
390
                vector_vector<true>(column_left_ptr->get_data().data(),
391
                                    column_right_ptr->get_data().data(),
392
                                    column_result->get_data().data(), sz);
393
            } else {
394
                vector_vector<false>(column_left_ptr->get_data().data(),
395
                                     column_right_ptr->get_data().data(),
396
                                     column_result->get_data().data(), sz);
397
            }
398
5
        } else {
399
5
            const auto& a = column_left_ptr->get_data().data();
400
5
            const auto& b = column_right_ptr->get_data().data();
401
5
            const auto& c = column_result->get_data().data();
402
5
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
5
            std::visit(
404
5
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
5
                        for (size_t i = 0; i < sz; i++) {
406
5
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
5
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
5
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
5
                                            max_result_number, scale_diff_multiplier));
410
5
                        }
411
5
                    },
412
5
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
5
                    make_bool_variant(check_overflow_for_decimal));
414
415
5
            if (need_adjust_scale && !check_overflow_for_decimal) {
416
0
                auto sig_uptr = std::unique_ptr<int8_t[]>(new int8_t[sz]);
417
0
                int8_t* sig = sig_uptr.get();
418
0
                for (size_t i = 0; i < sz; i++) {
419
0
                    sig[i] = sgn(c[i].value);
420
0
                }
421
0
                for (size_t i = 0; i < sz; i++) {
422
0
                    c[i].value = (c[i].value - sig[i]) / scale_diff_multiplier.value + sig[i];
423
0
                }
424
0
            }
425
5
        }
426
427
5
        return column_result;
428
5
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE13vector_vectorILS1_35EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEEPKNS9_ILS1_28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESK_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_28EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_29EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE13vector_vectorILS1_30EQclL_ZNS_10is_decimalES1_ETL0__EEENS_3COWINS_7IColumnEE13immutable_ptrIS5_EES8_S8_PKNS_15DataTypeDecimalILS1_29EEESC_RKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeESH_RKNS9_IXT_EEEb
Line
Count
Source
381
2.37k
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
2.37k
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
2.37k
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
2.37k
        auto column_result =
386
2.37k
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
2.37k
        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.37k
        } else {
399
2.37k
            const auto& a = column_left_ptr->get_data().data();
400
2.37k
            const auto& b = column_right_ptr->get_data().data();
401
2.37k
            const auto& c = column_result->get_data().data();
402
2.37k
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
2.37k
            std::visit(
404
2.37k
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
2.37k
                        for (size_t i = 0; i < sz; i++) {
406
2.37k
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
2.37k
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
2.37k
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
2.37k
                                            max_result_number, scale_diff_multiplier));
410
2.37k
                        }
411
2.37k
                    },
412
2.37k
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
2.37k
                    make_bool_variant(check_overflow_for_decimal));
414
415
2.37k
            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.37k
        }
426
427
2.37k
        return column_result;
428
2.37k
    }
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
55
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
55
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
55
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
55
        auto column_result =
386
55
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
55
        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
55
        } else {
399
55
            const auto& a = column_left_ptr->get_data().data();
400
55
            const auto& b = column_right_ptr->get_data().data();
401
55
            const auto& c = column_result->get_data().data();
402
55
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
55
            std::visit(
404
55
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
55
                        for (size_t i = 0; i < sz; i++) {
406
55
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
55
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
55
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
55
                                            max_result_number, scale_diff_multiplier));
410
55
                        }
411
55
                    },
412
55
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
55
                    make_bool_variant(check_overflow_for_decimal));
414
415
55
            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
55
        }
426
427
55
        return column_result;
428
55
    }
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
464
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
464
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
464
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
464
        auto column_result =
386
464
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
464
        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
464
        } else {
399
464
            const auto& a = column_left_ptr->get_data().data();
400
464
            const auto& b = column_right_ptr->get_data().data();
401
464
            const auto& c = column_result->get_data().data();
402
464
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
464
            std::visit(
404
464
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
464
                        for (size_t i = 0; i < sz; i++) {
406
464
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
464
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
464
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
464
                                            max_result_number, scale_diff_multiplier));
410
464
                        }
411
464
                    },
412
464
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
464
                    make_bool_variant(check_overflow_for_decimal));
414
415
464
            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
464
        }
426
427
464
        return column_result;
428
464
    }
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
100
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
100
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
100
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
100
        auto column_result =
386
100
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
100
        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
100
        } else {
399
100
            const auto& a = column_left_ptr->get_data().data();
400
100
            const auto& b = column_right_ptr->get_data().data();
401
100
            const auto& c = column_result->get_data().data();
402
100
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
100
            std::visit(
404
100
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
100
                        for (size_t i = 0; i < sz; i++) {
406
100
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
100
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
100
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
100
                                            max_result_number, scale_diff_multiplier));
410
100
                        }
411
100
                    },
412
100
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
100
                    make_bool_variant(check_overflow_for_decimal));
414
415
100
            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
100
        }
426
427
100
        return column_result;
428
100
    }
_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
78
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
78
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
78
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
78
        auto column_result =
386
78
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
78
        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
78
        } else {
399
78
            const auto& a = column_left_ptr->get_data().data();
400
78
            const auto& b = column_right_ptr->get_data().data();
401
78
            const auto& c = column_result->get_data().data();
402
78
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
78
            std::visit(
404
78
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
78
                        for (size_t i = 0; i < sz; i++) {
406
78
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
78
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
78
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
78
                                            max_result_number, scale_diff_multiplier));
410
78
                        }
411
78
                    },
412
78
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
78
                    make_bool_variant(check_overflow_for_decimal));
414
415
78
            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
78
        }
426
427
78
        return column_result;
428
78
    }
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
41
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
41
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
41
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
41
        auto column_result =
386
41
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
41
        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
41
        } else {
399
41
            const auto& a = column_left_ptr->get_data().data();
400
41
            const auto& b = column_right_ptr->get_data().data();
401
41
            const auto& c = column_result->get_data().data();
402
41
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
41
            std::visit(
404
41
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
41
                        for (size_t i = 0; i < sz; i++) {
406
41
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
41
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
41
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
41
                                            max_result_number, scale_diff_multiplier));
410
41
                        }
411
41
                    },
412
41
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
41
                    make_bool_variant(check_overflow_for_decimal));
414
415
41
            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
41
        }
426
427
41
        return column_result;
428
41
    }
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
14
            const DataTypeDecimal<ResultType>& res_data_type, bool check_overflow_for_decimal) {
382
14
        const auto* column_left_ptr = assert_cast<const ColumnTypeA*>(column_left.get());
383
14
        const auto* column_right_ptr = assert_cast<const ColumnTypeB*>(column_right.get());
384
385
14
        auto column_result =
386
14
                ColumnDecimal<ResultType>::create(column_left->size(), res_data_type.get_scale());
387
14
        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
14
        } else {
399
14
            const auto& a = column_left_ptr->get_data().data();
400
14
            const auto& b = column_right_ptr->get_data().data();
401
14
            const auto& c = column_result->get_data().data();
402
14
            bool need_adjust_scale = scale_diff_multiplier.value > 1;
403
14
            std::visit(
404
14
                    [&](auto need_adjust_scale, auto check_overflow_for_decimal) {
405
14
                        for (size_t i = 0; i < sz; i++) {
406
14
                            c[i] = typename ColumnDecimal<ResultType>::value_type(
407
14
                                    apply<need_adjust_scale, check_overflow_for_decimal>(
408
14
                                            a[i], b[i], *type_left, *type_right, res_data_type,
409
14
                                            max_result_number, scale_diff_multiplier));
410
14
                        }
411
14
                    },
412
14
                    make_bool_variant(need_adjust_scale && check_overflow_for_decimal),
413
14
                    make_bool_variant(check_overflow_for_decimal));
414
415
14
            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
14
        }
426
427
14
        return column_result;
428
14
    }
429
430
    template <bool need_adjust_scale, bool check_overflow, PrimitiveType ResultType>
431
        requires(is_decimal(ResultType) && ResultType != TYPE_DECIMALV2)
432
    static ALWAYS_INLINE typename PrimitiveTypeTraits<ResultType>::CppType::NativeType apply(
433
            ArgNativeTypeA a, ArgNativeTypeB b, const DataTypeA& type_left,
434
            const DataTypeB& type_right, const DataTypeDecimal<ResultType>& type_result,
435
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
436
5.60M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
5.60M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
5.60M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
5.60M
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
83
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
65
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
65
                    if constexpr (need_adjust_scale) {
445
64
                        if (res256 > 0) {
446
61
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
61
                                     scale_diff_multiplier.value;
448
449
61
                        } else {
450
3
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
3
                                     scale_diff_multiplier.value;
452
3
                        }
453
64
                    }
454
                    // check if final result is overflow
455
65
                    if (res256 > wide::Int256(max_result_number.value) ||
456
65
                        res256 < wide::Int256(-max_result_number.value)) {
457
8
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
8
                                                              type_result.get_scale()}
459
8
                                                  .to_string(Decimal256(res256));
460
8
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
8
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
8
                                        type_left.to_string(ArgA(a)), "multiply",
463
8
                                        type_right.to_string(ArgB(b)), result_str,
464
8
                                        type_result.get_name());
465
57
                    } else {
466
57
                        res = res256;
467
57
                    }
468
65
                } 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
5.60M
            } else {
479
                // round to final result precision
480
5.60M
                if constexpr (need_adjust_scale) {
481
129
                    if (res >= 0) {
482
126
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
126
                    } else {
484
3
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
3
                    }
486
129
                }
487
5.60M
                if (res > max_result_number.value || res < -max_result_number.value) {
488
5
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
5
                                                          type_result.get_scale()}
490
5
                                              .to_string(Decimal256(res));
491
5
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
5
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
5
                                    type_left.to_string(ArgA(a)), "multiply",
494
5
                                    type_right.to_string(ArgB(b)), result_str,
495
5
                                    type_result.get_name());
496
5
                }
497
5.60M
            }
498
5.60M
            return res;
499
5.60M
        } else {
500
0
            res = apply<ResultType>(a, b);
501
0
            if constexpr (need_adjust_scale) {
502
0
                if (res >= 0) {
503
0
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
0
                } else {
505
0
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
0
                }
507
0
            }
508
0
            return res;
509
0
        }
510
5.60M
    }
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
10
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
10
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
10
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
10
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
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
10
            } 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
10
                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
10
            }
498
10
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
10
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_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
29.9k
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
29.9k
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
29.9k
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
29.9k
            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
29.9k
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
29.9k
                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.9k
            }
498
29.9k
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
29.9k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
13
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
13
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
13
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
13
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
13
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
13
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
13
            }
498
13
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
13
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_28EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEliRKNS_15DataTypeDecimalILS1_29EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS1_29EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEllRKNS_15DataTypeDecimalILS1_29EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
3.19M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
3.19M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
3.19M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
3.19M
            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.19M
            } 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.19M
                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.19M
            }
498
3.19M
            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.19M
    }
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
12.7k
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
12.7k
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
12.7k
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
12.7k
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
12.7k
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
12.7k
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
12.7k
            }
498
12.7k
            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.7k
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_28EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEniRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_28EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
7
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
7
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
7
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
7
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
1
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
1
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
1
                    if constexpr (need_adjust_scale) {
445
1
                        if (res256 > 0) {
446
0
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
0
                                     scale_diff_multiplier.value;
448
449
1
                        } else {
450
1
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
1
                                     scale_diff_multiplier.value;
452
1
                        }
453
1
                    }
454
                    // check if final result is overflow
455
1
                    if (res256 > wide::Int256(max_result_number.value) ||
456
1
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
1
                    } else {
466
1
                        res = res256;
467
1
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
6
            } else {
479
                // round to final result precision
480
6
                if constexpr (need_adjust_scale) {
481
6
                    if (res >= 0) {
482
5
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
5
                    } else {
484
1
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
1
                    }
486
6
                }
487
6
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
6
            }
498
7
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
7
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_29EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnlRKNS_15DataTypeDecimalILS1_30EEERKNS8_ILS1_29EEERKNS8_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
2.36M
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
2.36M
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
2.36M
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
2.36M
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
0
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
0
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
0
                    if (res256 > wide::Int256(max_result_number.value) ||
456
0
                        res256 < wide::Int256(-max_result_number.value)) {
457
0
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
0
                                                              type_result.get_scale()}
459
0
                                                  .to_string(Decimal256(res256));
460
0
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
0
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
0
                                        type_left.to_string(ArgA(a)), "multiply",
463
0
                                        type_right.to_string(ArgB(b)), result_str,
464
0
                                        type_result.get_name());
465
0
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
2.36M
            } 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.36M
                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.36M
            }
498
2.36M
            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.36M
    }
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
125
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
125
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
125
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
125
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
55
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
55
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
55
                    if constexpr (need_adjust_scale) {
445
55
                        if (res256 > 0) {
446
54
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
54
                                     scale_diff_multiplier.value;
448
449
54
                        } else {
450
1
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
1
                                     scale_diff_multiplier.value;
452
1
                        }
453
55
                    }
454
                    // check if final result is overflow
455
55
                    if (res256 > wide::Int256(max_result_number.value) ||
456
55
                        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
49
                    } else {
466
49
                        res = res256;
467
49
                    }
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
70
            } else {
479
                // round to final result precision
480
70
                if constexpr (need_adjust_scale) {
481
70
                    if (res >= 0) {
482
70
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
70
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
70
                }
487
70
                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
70
            }
498
125
            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
125
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
13
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
13
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
13
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
13
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
1
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
1
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
1
                    if (res256 > wide::Int256(max_result_number.value) ||
456
1
                        res256 < wide::Int256(-max_result_number.value)) {
457
1
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
1
                                                              type_result.get_scale()}
459
1
                                                  .to_string(Decimal256(res256));
460
1
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
1
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
1
                                        type_left.to_string(ArgA(a)), "multiply",
463
1
                                        type_right.to_string(ArgB(b)), result_str,
464
1
                                        type_result.get_name());
465
1
                    } else {
466
0
                        res = res256;
467
0
                    }
468
                } else {
469
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
                                                          type_result.get_scale()}
471
                                              .to_string(Decimal256(res));
472
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
                                    type_left.to_string(ArgA(a)), "multiply",
475
                                    type_right.to_string(ArgB(b)), result_str,
476
                                    type_result.get_name());
477
                }
478
12
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
12
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
12
            }
498
13
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
13
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_30EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
436
268
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
268
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
268
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
268
            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
268
            } 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
268
                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
268
            }
498
268
            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
268
    }
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
49
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
49
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
49
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
49
            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
7
                } else {
469
7
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
7
                                                          type_result.get_scale()}
471
7
                                              .to_string(Decimal256(res));
472
7
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
7
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
7
                                    type_left.to_string(ArgA(a)), "multiply",
475
7
                                    type_right.to_string(ArgB(b)), result_str,
476
7
                                    type_result.get_name());
477
7
                }
478
42
            } else {
479
                // round to final result precision
480
42
                if constexpr (need_adjust_scale) {
481
42
                    if (res >= 0) {
482
42
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
42
                    } else {
484
0
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
0
                    }
486
42
                }
487
42
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
42
            }
498
49
            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
49
    }
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
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
                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
11
                } else {
469
11
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
11
                                                          type_result.get_scale()}
471
11
                                              .to_string(Decimal256(res));
472
11
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
11
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
11
                                    type_left.to_string(ArgA(a)), "multiply",
475
11
                                    type_right.to_string(ArgB(b)), result_str,
476
11
                                    type_result.get_name());
477
11
                }
478
11
            } 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
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_13PrimitiveTypeE35ELS1_35EE5applyILb1ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_28EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_29EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_30EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb0ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE5applyILb0ELb1ELS1_35EQaaclL_ZNS_10is_decimalES1_ETL0_1_EneTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEN4wide7integerILm256EiEESA_RKNS_15DataTypeDecimalILS1_35EEESE_RKNSB_IXT1_EEERKNS5_7CppTypeESK_
Line
Count
Source
436
4
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
437
4
        typename PrimitiveTypeTraits<ResultType>::CppType::NativeType res;
438
4
        if constexpr (check_overflow) {
439
            // TODO handle overflow gracefully
440
4
            if (UNLIKELY(apply<ResultType>(a, b, res))) {
441
                // multiply
442
                if constexpr (ResultType == TYPE_DECIMAL128I) {
443
                    wide::Int256 res256 = apply<TYPE_DECIMAL256>(a, b);
444
                    if constexpr (need_adjust_scale) {
445
                        if (res256 > 0) {
446
                            res256 = (res256 + scale_diff_multiplier.value / 2) /
447
                                     scale_diff_multiplier.value;
448
449
                        } else {
450
                            res256 = (res256 - scale_diff_multiplier.value / 2) /
451
                                     scale_diff_multiplier.value;
452
                        }
453
                    }
454
                    // check if final result is overflow
455
                    if (res256 > wide::Int256(max_result_number.value) ||
456
                        res256 < wide::Int256(-max_result_number.value)) {
457
                        auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
458
                                                              type_result.get_scale()}
459
                                                  .to_string(Decimal256(res256));
460
                        throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
461
                                        "Arithmetic overflow: {} {} {} = {}, result type: {}",
462
                                        type_left.to_string(ArgA(a)), "multiply",
463
                                        type_right.to_string(ArgB(b)), result_str,
464
                                        type_result.get_name());
465
                    } else {
466
                        res = res256;
467
                    }
468
0
                } else {
469
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
470
0
                                                          type_result.get_scale()}
471
0
                                              .to_string(Decimal256(res));
472
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
473
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
474
0
                                    type_left.to_string(ArgA(a)), "multiply",
475
0
                                    type_right.to_string(ArgB(b)), result_str,
476
0
                                    type_result.get_name());
477
0
                }
478
4
            } else {
479
                // round to final result precision
480
                if constexpr (need_adjust_scale) {
481
                    if (res >= 0) {
482
                        res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
483
                    } else {
484
                        res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
485
                    }
486
                }
487
4
                if (res > max_result_number.value || res < -max_result_number.value) {
488
0
                    auto result_str = DataTypeDecimal256 {BeConsts::MAX_DECIMAL256_PRECISION,
489
0
                                                          type_result.get_scale()}
490
0
                                              .to_string(Decimal256(res));
491
0
                    throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
492
0
                                    "Arithmetic overflow: {} {} {} = {}, result type: {}",
493
0
                                    type_left.to_string(ArgA(a)), "multiply",
494
0
                                    type_right.to_string(ArgB(b)), result_str,
495
0
                                    type_result.get_name());
496
0
                }
497
4
            }
498
4
            return res;
499
        } else {
500
            res = apply<ResultType>(a, b);
501
            if constexpr (need_adjust_scale) {
502
                if (res >= 0) {
503
                    res = (res + scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
504
                } else {
505
                    res = (res - scale_diff_multiplier.value / 2) / scale_diff_multiplier.value;
506
                }
507
            }
508
            return res;
509
        }
510
4
    }
511
512
    template <bool need_adjust_scale, bool check_overflow, PrimitiveType ResultType>
513
        requires(ResultType == TYPE_DECIMALV2)
514
    static ALWAYS_INLINE typename PrimitiveTypeTraits<ResultType>::CppType::NativeType apply(
515
            ArgNativeTypeA a, ArgNativeTypeB b, const DataTypeA& type_left,
516
            const DataTypeB& type_right, const DataTypeDecimal<ResultType>& type_result,
517
            const typename PrimitiveTypeTraits<ResultType>::CppType& max_result_number,
518
15
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
519
        // Now, Doris only support decimal +-*/ decimal.
520
15
        if constexpr (check_overflow) {
521
15
            auto res = apply(DecimalV2Value(a), DecimalV2Value(b)).value();
522
15
            if (res > max_result_number.value() || res < -max_result_number.value()) {
523
14
                throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
524
14
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
525
14
                                DecimalV2Value(a).to_string(), "multiply",
526
14
                                DecimalV2Value(b).to_string(), DecimalV2Value(res).to_string(),
527
14
                                type_to_string(ResultType));
528
14
            }
529
1
            return res;
530
15
        } else {
531
0
            return apply(DecimalV2Value(a), DecimalV2Value(b)).value();
532
0
        }
533
15
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb1ELb1ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Line
Count
Source
518
15
            const typename PrimitiveTypeTraits<ResultType>::CppType& scale_diff_multiplier) {
519
        // Now, Doris only support decimal +-*/ decimal.
520
15
        if constexpr (check_overflow) {
521
15
            auto res = apply(DecimalV2Value(a), DecimalV2Value(b)).value();
522
15
            if (res > max_result_number.value() || res < -max_result_number.value()) {
523
14
                throw Exception(ErrorCode::ARITHMETIC_OVERFLOW_ERRROR,
524
14
                                "Arithmetic overflow: {} {} {} = {}, result type: {}",
525
14
                                DecimalV2Value(a).to_string(), "multiply",
526
14
                                DecimalV2Value(b).to_string(), DecimalV2Value(res).to_string(),
527
14
                                type_to_string(ResultType));
528
14
            }
529
1
            return res;
530
        } else {
531
            return apply(DecimalV2Value(a), DecimalV2Value(b)).value();
532
        }
533
15
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb1ELb0ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb0ELb0ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE5applyILb0ELb1ELS1_20EQeqTL0_1_LS1_20EEENS_19PrimitiveTypeTraitsIXT1_EE7CppType10NativeTypeEnnRKNS_15DataTypeDecimalILS1_20EEESB_RKNS8_IXT1_EEERKNS5_7CppTypeESH_
534
535
    template <PrimitiveType PT>
536
    static std::pair<typename PrimitiveTypeTraits<PT>::CppType,
537
                     typename PrimitiveTypeTraits<PT>::CppType>
538
    get_max_and_multiplier(const DataTypeA* type_left, const DataTypeB* type_right,
539
4.37k
                           const DataTypeDecimal<PT>& type_result) {
540
4.37k
        auto max_result_number =
541
4.37k
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
4.37k
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
4.37k
        auto result_scale = type_result.get_scale();
545
4.37k
        DCHECK(orig_result_scale >= result_scale);
546
4.37k
        auto scale_diff_multiplier =
547
4.37k
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
4.37k
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
4.37k
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
4.37k
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS1_20EE22get_max_and_multiplierILS1_20EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_20EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
169
                           const DataTypeDecimal<PT>& type_result) {
540
169
        auto max_result_number =
541
169
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
169
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
169
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
169
        auto scale_diff_multiplier =
547
169
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
169
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
169
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
169
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
14
                           const DataTypeDecimal<PT>& type_result) {
540
14
        auto max_result_number =
541
14
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
14
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
14
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
14
        auto scale_diff_multiplier =
547
14
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
14
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
14
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
14
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
48
                           const DataTypeDecimal<PT>& type_result) {
540
48
        auto max_result_number =
541
48
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
48
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
48
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
48
        auto scale_diff_multiplier =
547
48
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
48
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
48
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
48
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_28EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Line
Count
Source
539
2
                           const DataTypeDecimal<PT>& type_result) {
540
2
        auto max_result_number =
541
2
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
2
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
2
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
2
        auto scale_diff_multiplier =
547
2
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
2
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
2
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
2
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS1_29EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_28EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Line
Count
Source
539
8
                           const DataTypeDecimal<PT>& type_result) {
540
8
        auto max_result_number =
541
8
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
8
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
8
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
8
        auto scale_diff_multiplier =
547
8
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
8
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
8
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
8
    }
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
376
                           const DataTypeDecimal<PT>& type_result) {
540
376
        auto max_result_number =
541
376
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
376
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
376
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
376
        auto scale_diff_multiplier =
547
376
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
376
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
376
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
376
    }
_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
2.37k
                           const DataTypeDecimal<PT>& type_result) {
540
2.37k
        auto max_result_number =
541
2.37k
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
2.37k
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
2.37k
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
2.37k
        auto scale_diff_multiplier =
547
2.37k
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
2.37k
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
2.37k
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
2.37k
    }
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
598
                           const DataTypeDecimal<PT>& type_result) {
540
598
        auto max_result_number =
541
598
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
598
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
598
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
598
        auto scale_diff_multiplier =
547
598
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
598
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
598
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
598
    }
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
469
                           const DataTypeDecimal<PT>& type_result) {
540
469
        auto max_result_number =
541
469
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
469
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
469
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
469
        auto scale_diff_multiplier =
547
469
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
469
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
469
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
469
    }
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
103
                           const DataTypeDecimal<PT>& type_result) {
540
103
        auto max_result_number =
541
103
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
103
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
103
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
103
        auto scale_diff_multiplier =
547
103
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
103
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
103
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
103
    }
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_30EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
79
                           const DataTypeDecimal<PT>& type_result) {
540
79
        auto max_result_number =
541
79
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
79
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
79
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
79
        auto scale_diff_multiplier =
547
79
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
79
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
79
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
79
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS1_35EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_30EEEPKNS9_ILS1_35EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_28EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_28EEERKNS9_IXT_EEE
Line
Count
Source
539
6
                           const DataTypeDecimal<PT>& type_result) {
540
6
        auto max_result_number =
541
6
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
6
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
6
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
6
        auto scale_diff_multiplier =
547
6
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
6
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
6
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
6
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_29EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_29EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_30EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEEPKNS9_ILS1_30EEERKNS9_IXT_EEE
Line
Count
Source
539
41
                           const DataTypeDecimal<PT>& type_result) {
540
41
        auto max_result_number =
541
41
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
41
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
41
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
41
        auto scale_diff_multiplier =
547
41
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
41
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
41
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
41
    }
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_28EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_29EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
Unexecuted instantiation: _ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_30EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
_ZN5doris19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS1_35EE22get_max_and_multiplierILS1_35EEESt4pairINS_19PrimitiveTypeTraitsIXT_EE7CppTypeES7_EPKNS_15DataTypeDecimalILS1_35EEESC_RKNS9_IXT_EEE
Line
Count
Source
539
15
                           const DataTypeDecimal<PT>& type_result) {
540
15
        auto max_result_number =
541
15
                DataTypeDecimal<PT>::get_max_digits_number(type_result.get_precision());
542
543
15
        auto orig_result_scale = type_left->get_scale() + type_right->get_scale();
544
15
        auto result_scale = type_result.get_scale();
545
        DCHECK(orig_result_scale >= result_scale);
546
15
        auto scale_diff_multiplier =
547
15
                DataTypeDecimal<PT>::get_scale_multiplier(orig_result_scale - result_scale);
548
15
        return {typename PrimitiveTypeTraits<PT>::CppType(max_result_number),
549
15
                typename PrimitiveTypeTraits<PT>::CppType(scale_diff_multiplier)};
550
15
    }
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
13.0k
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE6createEv
Line
Count
Source
560
65
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE6createEv
Line
Count
Source
560
40
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE6createEv
Line
Count
Source
560
14
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE6createEv
Line
Count
Source
560
38
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE6createEv
Line
Count
Source
560
38
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE6createEv
Line
Count
Source
560
157
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE6createEv
Line
Count
Source
560
17
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE6createEv
Line
Count
Source
560
183
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE6createEv
Line
Count
Source
560
90
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE6createEv
Line
Count
Source
560
137
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE6createEv
Line
Count
Source
560
15
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE6createEv
Line
Count
Source
560
10
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE6createEv
Line
Count
Source
560
31
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE6createEv
Line
Count
Source
560
24
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE6createEv
Line
Count
Source
560
9
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE6createEv
Line
Count
Source
560
24
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE6createEv
Line
Count
Source
560
37
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE6createEv
Line
Count
Source
560
11.4k
    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
558
    static FunctionPtr create() { return std::make_shared<FunctionMultiply>(); }
561
562
13.0k
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEEC2Ev
Line
Count
Source
562
65
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEEC2Ev
Line
Count
Source
562
40
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEEC2Ev
Line
Count
Source
562
14
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEEC2Ev
Line
Count
Source
562
38
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEEC2Ev
Line
Count
Source
562
38
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEEC2Ev
Line
Count
Source
562
157
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEEC2Ev
Line
Count
Source
562
17
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEEC2Ev
Line
Count
Source
562
183
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEEC2Ev
Line
Count
Source
562
90
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEEC2Ev
Line
Count
Source
562
137
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEEC2Ev
Line
Count
Source
562
15
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEEC2Ev
Line
Count
Source
562
10
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEEC2Ev
Line
Count
Source
562
31
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEEC2Ev
Line
Count
Source
562
24
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEEC2Ev
Line
Count
Source
562
9
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEEC2Ev
Line
Count
Source
562
24
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEEC2Ev
Line
Count
Source
562
37
    FunctionMultiply() = default;
_ZN5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEEC2Ev
Line
Count
Source
562
11.4k
    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
558
    FunctionMultiply() = default;
563
564
41
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
2
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE8get_nameB5cxx11Ev
Line
Count
Source
564
1
    String get_name() const override { return name; }
565
566
4.79k
    bool need_replace_null_data_to_default() const override {
567
4.79k
        return Impl::need_replace_null_data_to_default;
568
4.79k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
120
    bool need_replace_null_data_to_default() const override {
567
120
        return Impl::need_replace_null_data_to_default;
568
120
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
62
    bool need_replace_null_data_to_default() const override {
567
62
        return Impl::need_replace_null_data_to_default;
568
62
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
10
    bool need_replace_null_data_to_default() const override {
567
10
        return Impl::need_replace_null_data_to_default;
568
10
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
33
    bool need_replace_null_data_to_default() const override {
567
33
        return Impl::need_replace_null_data_to_default;
568
33
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE33need_replace_null_data_to_defaultEv
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
25
    bool need_replace_null_data_to_default() const override {
567
25
        return Impl::need_replace_null_data_to_default;
568
25
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
21
    bool need_replace_null_data_to_default() const override {
567
21
        return Impl::need_replace_null_data_to_default;
568
21
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
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
279
    bool need_replace_null_data_to_default() const override {
567
279
        return Impl::need_replace_null_data_to_default;
568
279
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
3
    bool need_replace_null_data_to_default() const override {
567
3
        return Impl::need_replace_null_data_to_default;
568
3
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
177
    bool need_replace_null_data_to_default() const override {
567
177
        return Impl::need_replace_null_data_to_default;
568
177
    }
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
39
    bool need_replace_null_data_to_default() const override {
567
39
        return Impl::need_replace_null_data_to_default;
568
39
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
13
    bool need_replace_null_data_to_default() const override {
567
13
        return Impl::need_replace_null_data_to_default;
568
13
    }
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
48
    bool need_replace_null_data_to_default() const override {
567
48
        return Impl::need_replace_null_data_to_default;
568
48
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE33need_replace_null_data_to_defaultEv
Line
Count
Source
566
1.02k
    bool need_replace_null_data_to_default() const override {
567
1.02k
        return Impl::need_replace_null_data_to_default;
568
1.02k
    }
_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.81k
    bool need_replace_null_data_to_default() const override {
567
2.81k
        return Impl::need_replace_null_data_to_default;
568
2.81k
    }
569
570
62.4k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
513
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
238
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
35
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
844
    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
211
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
5.32k
    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.99k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
1.02k
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
823
    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
158
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
69
    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
276
    bool use_default_implementation_for_constants() const final { return false; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE40use_default_implementation_for_constantsEv
Line
Count
Source
570
40.3k
    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.97k
    bool use_default_implementation_for_constants() const final { return false; }
571
572
12.8k
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE23get_number_of_argumentsEv
Line
Count
Source
572
56
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
31
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
5
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
29
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
29
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
148
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
8
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
174
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
81
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
128
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE23get_number_of_argumentsEv
Line
Count
Source
572
6
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE23get_number_of_argumentsEv
Line
Count
Source
572
1
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE23get_number_of_argumentsEv
Line
Count
Source
572
22
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE23get_number_of_argumentsEv
Line
Count
Source
572
15
    size_t get_number_of_arguments() const override { return 2; }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE23get_number_of_argumentsEv
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE23get_number_of_argumentsEv
Line
Count
Source
572
15
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE23get_number_of_argumentsEv
Line
Count
Source
572
28
    size_t get_number_of_arguments() const override { return 2; }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE23get_number_of_argumentsEv
Line
Count
Source
572
11.4k
    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
549
    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
12.8k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
12.8k
        return arguments[0];
580
12.8k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
56
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
56
        return arguments[0];
580
56
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
31
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
31
        return arguments[0];
580
31
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
5
        return arguments[0];
580
5
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
29
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
29
        return arguments[0];
580
29
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
29
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
29
        return arguments[0];
580
29
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
148
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
148
        return arguments[0];
580
148
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
8
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
8
        return arguments[0];
580
8
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
174
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
174
        return arguments[0];
580
174
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
81
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
81
        return arguments[0];
580
81
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
128
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
128
        return arguments[0];
580
128
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
6
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
6
        return arguments[0];
580
6
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
1
        return arguments[0];
580
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
22
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
22
        return arguments[0];
580
22
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
15
        return arguments[0];
580
15
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
15
        return arguments[0];
580
15
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
28
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
28
        return arguments[0];
580
28
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
578
11.4k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
11.4k
        return arguments[0];
580
11.4k
    }
_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
549
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
579
549
        return arguments[0];
580
549
    }
581
582
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
583
20.2k
                        uint32_t result, size_t input_rows_count) const override {
584
20.2k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
20.2k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
20.2k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
20.2k
                block.get_by_position(arguments[0]).type.get());
588
20.2k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
20.2k
                block.get_by_position(arguments[1]).type.get());
590
20.2k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
20.2k
        bool is_const_left = is_column_const(*column_left);
592
20.2k
        bool is_const_right = is_column_const(*column_right);
593
594
20.2k
        ColumnPtr column_result = nullptr;
595
20.2k
        if (is_const_left && is_const_right) {
596
51
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
51
                                              res_data_type, context->check_overflow_for_decimal());
598
20.1k
        } else if (is_const_left) {
599
350
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
350
                                            res_data_type, context->check_overflow_for_decimal());
601
19.8k
        } else if (is_const_right) {
602
12.4k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
12.4k
                                            res_data_type, context->check_overflow_for_decimal());
604
12.4k
        } else {
605
7.37k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
7.37k
                                          res_data_type, context->check_overflow_for_decimal());
607
7.37k
        }
608
20.2k
        block.replace_by_position(result, std::move(column_result));
609
20.2k
        return Status::OK();
610
20.2k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
168
                        uint32_t result, size_t input_rows_count) const override {
584
168
        auto& column_left = block.get_by_position(arguments[0]).column;
585
168
        auto& column_right = block.get_by_position(arguments[1]).column;
586
168
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
168
                block.get_by_position(arguments[0]).type.get());
588
168
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
168
                block.get_by_position(arguments[1]).type.get());
590
168
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
168
        bool is_const_left = is_column_const(*column_left);
592
168
        bool is_const_right = is_column_const(*column_right);
593
594
168
        ColumnPtr column_result = nullptr;
595
168
        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
155
        } 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
154
        } 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
153
        } else {
605
153
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
153
                                          res_data_type, context->check_overflow_for_decimal());
607
153
        }
608
168
        block.replace_by_position(result, std::move(column_result));
609
168
        return Status::OK();
610
168
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
61
                        uint32_t result, size_t input_rows_count) const override {
584
61
        auto& column_left = block.get_by_position(arguments[0]).column;
585
61
        auto& column_right = block.get_by_position(arguments[1]).column;
586
61
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
61
                block.get_by_position(arguments[0]).type.get());
588
61
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
61
                block.get_by_position(arguments[1]).type.get());
590
61
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
61
        bool is_const_left = is_column_const(*column_left);
592
61
        bool is_const_right = is_column_const(*column_right);
593
594
61
        ColumnPtr column_result = nullptr;
595
61
        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
61
        } 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
61
        } else if (is_const_right) {
602
34
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
34
                                            res_data_type, context->check_overflow_for_decimal());
604
34
        } else {
605
27
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
27
                                          res_data_type, context->check_overflow_for_decimal());
607
27
        }
608
61
        block.replace_by_position(result, std::move(column_result));
609
61
        return Status::OK();
610
61
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
10
                        uint32_t result, size_t input_rows_count) const override {
584
10
        auto& column_left = block.get_by_position(arguments[0]).column;
585
10
        auto& column_right = block.get_by_position(arguments[1]).column;
586
10
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
10
                block.get_by_position(arguments[0]).type.get());
588
10
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
10
                block.get_by_position(arguments[1]).type.get());
590
10
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
10
        bool is_const_left = is_column_const(*column_left);
592
10
        bool is_const_right = is_column_const(*column_right);
593
594
10
        ColumnPtr column_result = nullptr;
595
10
        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
10
        } 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
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
10
        block.replace_by_position(result, std::move(column_result));
609
10
        return Status::OK();
610
10
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
379
                        uint32_t result, size_t input_rows_count) const override {
584
379
        auto& column_left = block.get_by_position(arguments[0]).column;
585
379
        auto& column_right = block.get_by_position(arguments[1]).column;
586
379
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
379
                block.get_by_position(arguments[0]).type.get());
588
379
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
379
                block.get_by_position(arguments[1]).type.get());
590
379
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
379
        bool is_const_left = is_column_const(*column_left);
592
379
        bool is_const_right = is_column_const(*column_right);
593
594
379
        ColumnPtr column_result = nullptr;
595
379
        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
379
        } else if (is_const_left) {
599
331
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
331
                                            res_data_type, context->check_overflow_for_decimal());
601
331
        } 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
379
        block.replace_by_position(result, std::move(column_result));
609
379
        return Status::OK();
610
379
    }
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
2.37k
                        uint32_t result, size_t input_rows_count) const override {
584
2.37k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
2.37k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
2.37k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
2.37k
                block.get_by_position(arguments[0]).type.get());
588
2.37k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
2.37k
                block.get_by_position(arguments[1]).type.get());
590
2.37k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
2.37k
        bool is_const_left = is_column_const(*column_left);
592
2.37k
        bool is_const_right = is_column_const(*column_right);
593
594
2.37k
        ColumnPtr column_result = nullptr;
595
2.37k
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
2.37k
        } else if (is_const_left) {
599
3
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
3
                                            res_data_type, context->check_overflow_for_decimal());
601
2.37k
        } else if (is_const_right) {
602
2
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
2
                                            res_data_type, context->check_overflow_for_decimal());
604
2.37k
        } else {
605
2.37k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
2.37k
                                          res_data_type, context->check_overflow_for_decimal());
607
2.37k
        }
608
2.37k
        block.replace_by_position(result, std::move(column_result));
609
2.37k
        return Status::OK();
610
2.37k
    }
_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
598
                        uint32_t result, size_t input_rows_count) const override {
584
598
        auto& column_left = block.get_by_position(arguments[0]).column;
585
598
        auto& column_right = block.get_by_position(arguments[1]).column;
586
598
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
598
                block.get_by_position(arguments[0]).type.get());
588
598
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
598
                block.get_by_position(arguments[1]).type.get());
590
598
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
598
        bool is_const_left = is_column_const(*column_left);
592
598
        bool is_const_right = is_column_const(*column_right);
593
594
598
        ColumnPtr column_result = nullptr;
595
598
        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
598
        } 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
598
        } else if (is_const_right) {
602
542
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
542
                                            res_data_type, context->check_overflow_for_decimal());
604
542
        } 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
598
        block.replace_by_position(result, std::move(column_result));
609
598
        return Status::OK();
610
598
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
469
                        uint32_t result, size_t input_rows_count) const override {
584
469
        auto& column_left = block.get_by_position(arguments[0]).column;
585
469
        auto& column_right = block.get_by_position(arguments[1]).column;
586
469
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
469
                block.get_by_position(arguments[0]).type.get());
588
469
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
469
                block.get_by_position(arguments[1]).type.get());
590
469
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
469
        bool is_const_left = is_column_const(*column_left);
592
469
        bool is_const_right = is_column_const(*column_right);
593
594
469
        ColumnPtr column_result = nullptr;
595
469
        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
467
        } 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
467
        } 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
465
        } else {
605
465
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
465
                                          res_data_type, context->check_overflow_for_decimal());
607
465
        }
608
469
        block.replace_by_position(result, std::move(column_result));
609
469
        return Status::OK();
610
469
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
181
                        uint32_t result, size_t input_rows_count) const override {
584
181
        auto& column_left = block.get_by_position(arguments[0]).column;
585
181
        auto& column_right = block.get_by_position(arguments[1]).column;
586
181
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
181
                block.get_by_position(arguments[0]).type.get());
588
181
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
181
                block.get_by_position(arguments[1]).type.get());
590
181
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
181
        bool is_const_left = is_column_const(*column_left);
592
181
        bool is_const_right = is_column_const(*column_right);
593
594
181
        ColumnPtr column_result = nullptr;
595
181
        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
177
        } 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
177
        } 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
177
        } else {
605
177
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
177
                                          res_data_type, context->check_overflow_for_decimal());
607
177
        }
608
181
        block.replace_by_position(result, std::move(column_result));
609
181
        return Status::OK();
610
181
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_28EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
6
                        uint32_t result, size_t input_rows_count) const override {
584
6
        auto& column_left = block.get_by_position(arguments[0]).column;
585
6
        auto& column_right = block.get_by_position(arguments[1]).column;
586
6
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
6
                block.get_by_position(arguments[0]).type.get());
588
6
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
6
                block.get_by_position(arguments[1]).type.get());
590
6
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
6
        bool is_const_left = is_column_const(*column_left);
592
6
        bool is_const_right = is_column_const(*column_right);
593
594
6
        ColumnPtr column_result = nullptr;
595
6
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
6
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
6
        } else if (is_const_right) {
602
2
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
2
                                            res_data_type, context->check_overflow_for_decimal());
604
4
        } else {
605
4
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
4
                                          res_data_type, context->check_overflow_for_decimal());
607
4
        }
608
6
        block.replace_by_position(result, std::move(column_result));
609
6
        return Status::OK();
610
6
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_29EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_30EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
41
                        uint32_t result, size_t input_rows_count) const override {
584
41
        auto& column_left = block.get_by_position(arguments[0]).column;
585
41
        auto& column_right = block.get_by_position(arguments[1]).column;
586
41
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
41
                block.get_by_position(arguments[0]).type.get());
588
41
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
41
                block.get_by_position(arguments[1]).type.get());
590
41
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
41
        bool is_const_left = is_column_const(*column_left);
592
41
        bool is_const_right = is_column_const(*column_right);
593
594
41
        ColumnPtr column_result = nullptr;
595
41
        if (is_const_left && is_const_right) {
596
0
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
0
                                              res_data_type, context->check_overflow_for_decimal());
598
41
        } else if (is_const_left) {
599
0
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
0
                                            res_data_type, context->check_overflow_for_decimal());
601
41
        } else if (is_const_right) {
602
0
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
0
                                            res_data_type, context->check_overflow_for_decimal());
604
41
        } else {
605
41
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
41
                                          res_data_type, context->check_overflow_for_decimal());
607
41
        }
608
41
        block.replace_by_position(result, std::move(column_result));
609
41
        return Status::OK();
610
41
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
15
                        uint32_t result, size_t input_rows_count) const override {
584
15
        auto& column_left = block.get_by_position(arguments[0]).column;
585
15
        auto& column_right = block.get_by_position(arguments[1]).column;
586
15
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
15
                block.get_by_position(arguments[0]).type.get());
588
15
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
15
                block.get_by_position(arguments[1]).type.get());
590
15
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
15
        bool is_const_left = is_column_const(*column_left);
592
15
        bool is_const_right = is_column_const(*column_right);
593
594
15
        ColumnPtr column_result = nullptr;
595
15
        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
14
        } 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
14
        } 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
14
        } else {
605
14
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
14
                                          res_data_type, context->check_overflow_for_decimal());
607
14
        }
608
15
        block.replace_by_position(result, std::move(column_result));
609
15
        return Status::OK();
610
15
    }
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
72
                        uint32_t result, size_t input_rows_count) const override {
584
72
        auto& column_left = block.get_by_position(arguments[0]).column;
585
72
        auto& column_right = block.get_by_position(arguments[1]).column;
586
72
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
72
                block.get_by_position(arguments[0]).type.get());
588
72
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
72
                block.get_by_position(arguments[1]).type.get());
590
72
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
72
        bool is_const_left = is_column_const(*column_left);
592
72
        bool is_const_right = is_column_const(*column_right);
593
594
72
        ColumnPtr column_result = nullptr;
595
72
        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
68
        } 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
68
        } else if (is_const_right) {
602
4
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
4
                                            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
72
        block.replace_by_position(result, std::move(column_result));
609
72
        return Status::OK();
610
72
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
12.5k
                        uint32_t result, size_t input_rows_count) const override {
584
12.5k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
12.5k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
12.5k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
12.5k
                block.get_by_position(arguments[0]).type.get());
588
12.5k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
12.5k
                block.get_by_position(arguments[1]).type.get());
590
12.5k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
12.5k
        bool is_const_left = is_column_const(*column_left);
592
12.5k
        bool is_const_right = is_column_const(*column_right);
593
594
12.5k
        ColumnPtr column_result = nullptr;
595
12.5k
        if (is_const_left && is_const_right) {
596
20
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
20
                                              res_data_type, context->check_overflow_for_decimal());
598
12.5k
        } else if (is_const_left) {
599
6
            column_result = constant_vector(column_left, column_right, type_left, type_right,
600
6
                                            res_data_type, context->check_overflow_for_decimal());
601
12.5k
        } else if (is_const_right) {
602
11.5k
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
11.5k
                                            res_data_type, context->check_overflow_for_decimal());
604
11.5k
        } else {
605
966
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
966
                                          res_data_type, context->check_overflow_for_decimal());
607
966
        }
608
12.5k
        block.replace_by_position(result, std::move(column_result));
609
12.5k
        return Status::OK();
610
12.5k
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE7EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
156
                        uint32_t result, size_t input_rows_count) const override {
584
156
        auto& column_left = block.get_by_position(arguments[0]).column;
585
156
        auto& column_right = block.get_by_position(arguments[1]).column;
586
156
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
156
                block.get_by_position(arguments[0]).type.get());
588
156
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
156
                block.get_by_position(arguments[1]).type.get());
590
156
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
156
        bool is_const_left = is_column_const(*column_left);
592
156
        bool is_const_right = is_column_const(*column_right);
593
594
156
        ColumnPtr column_result = nullptr;
595
156
        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
155
        } 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
155
        } 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
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
156
        block.replace_by_position(result, std::move(column_result));
609
156
        return Status::OK();
610
156
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
583
3.04k
                        uint32_t result, size_t input_rows_count) const override {
584
3.04k
        auto& column_left = block.get_by_position(arguments[0]).column;
585
3.04k
        auto& column_right = block.get_by_position(arguments[1]).column;
586
3.04k
        const auto* type_left = assert_cast<const typename Impl::DataTypeA*>(
587
3.04k
                block.get_by_position(arguments[0]).type.get());
588
3.04k
        const auto* type_right = assert_cast<const typename Impl::DataTypeB*>(
589
3.04k
                block.get_by_position(arguments[1]).type.get());
590
3.04k
        const auto& res_data_type = remove_nullable(block.get_by_position(result).type);
591
3.04k
        bool is_const_left = is_column_const(*column_left);
592
3.04k
        bool is_const_right = is_column_const(*column_right);
593
594
3.04k
        ColumnPtr column_result = nullptr;
595
3.04k
        if (is_const_left && is_const_right) {
596
4
            column_result = constant_constant(column_left, column_right, type_left, type_right,
597
4
                                              res_data_type, context->check_overflow_for_decimal());
598
3.03k
        } 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.03k
        } else if (is_const_right) {
602
258
            column_result = vector_constant(column_left, column_right, type_left, type_right,
603
258
                                            res_data_type, context->check_overflow_for_decimal());
604
2.77k
        } else {
605
2.77k
            column_result = vector_vector(column_left, column_right, type_left, type_right,
606
2.77k
                                          res_data_type, context->check_overflow_for_decimal());
607
2.77k
        }
608
3.04k
        block.replace_by_position(result, std::move(column_result));
609
3.04k
        return Status::OK();
610
3.04k
    }
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
51
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
51
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
51
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
51
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
51
        ColumnPtr column_result = nullptr;
622
623
51
        if constexpr (result_is_decimal) {
624
20
            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
7
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
7
                                         DataTypeDecimal256>(
654
7
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
7
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
7
                                        type_left, type_right, type_result);
657
7
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
7
                                        left_tmp;
659
7
                                auto left_src =
660
7
                                        column_left_ptr
661
7
                                                ->template get_value<Impl::DataTypeA::PType>();
662
7
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
7
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
7
                                        right_tmp;
665
7
                                auto right_src =
666
7
                                        column_right_ptr
667
7
                                                ->template get_value<Impl::DataTypeB::PType>();
668
7
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
7
                                column_result = Impl::constant_constant(
670
7
                                        left_tmp, right_tmp, type_left, type_right,
671
7
                                        max_and_multiplier.first, max_and_multiplier.second,
672
7
                                        type_result, check_overflow_for_decimal);
673
7
                                return true;
674
7
                            })) {
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
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
4
                                        type_left, type_right, type_result);
657
4
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
4
                                        left_tmp;
659
4
                                auto left_src =
660
4
                                        column_left_ptr
661
4
                                                ->template get_value<Impl::DataTypeA::PType>();
662
4
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
4
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
4
                                        right_tmp;
665
4
                                auto right_src =
666
4
                                        column_right_ptr
667
4
                                                ->template get_value<Impl::DataTypeB::PType>();
668
4
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
4
                                column_result = Impl::constant_constant(
670
4
                                        left_tmp, right_tmp, type_left, type_right,
671
4
                                        max_and_multiplier.first, max_and_multiplier.second,
672
4
                                        type_result, check_overflow_for_decimal);
673
4
                                return true;
674
4
                            })) {
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
7
            }
680
31
        } else {
681
31
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
31
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
31
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
31
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
31
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
31
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
31
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
31
        }
689
690
20
        return ColumnConst::create(std::move(column_result), column_left->size());
691
51
    }
_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
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
4
        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
4
            } else {
652
4
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
653
4
                                         DataTypeDecimal256>(
654
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
655
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
656
4
                                        type_left, type_right, type_result);
657
4
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType
658
4
                                        left_tmp;
659
4
                                auto left_src =
660
4
                                        column_left_ptr
661
4
                                                ->template get_value<Impl::DataTypeA::PType>();
662
4
                                std::memcpy(&left_tmp, &left_src, sizeof(left_src));
663
4
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType
664
4
                                        right_tmp;
665
4
                                auto right_src =
666
4
                                        column_right_ptr
667
4
                                                ->template get_value<Impl::DataTypeB::PType>();
668
4
                                std::memcpy(&right_tmp, &right_src, sizeof(right_src));
669
4
                                column_result = Impl::constant_constant(
670
4
                                        left_tmp, right_tmp, type_left, type_right,
671
4
                                        max_and_multiplier.first, max_and_multiplier.second,
672
4
                                        type_result, check_overflow_for_decimal);
673
4
                                return true;
674
4
                            })) {
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
4
            }
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
4
        return ColumnConst::create(std::move(column_result), column_left->size());
691
4
    }
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
20
                                DataTypePtr res_data_type, bool check_overflow_for_decimal) const {
617
20
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
618
20
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
619
20
        DCHECK(column_left_ptr != nullptr && column_right_ptr != nullptr);
620
621
20
        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
20
        } else {
681
20
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType left_tmp;
682
20
            auto left_src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
683
20
            std::memcpy(&left_tmp, &left_src, sizeof(left_src));
684
20
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType right_tmp;
685
20
            auto right_src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
686
20
            std::memcpy(&right_tmp, &right_src, sizeof(right_src));
687
20
            column_result = Impl::constant_constant(left_tmp, right_tmp);
688
20
        }
689
690
20
        return ColumnConst::create(std::move(column_result), column_left->size());
691
20
    }
_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
12.4k
                              bool check_overflow_for_decimal) const {
697
12.4k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
12.4k
        DCHECK(column_right_ptr != nullptr);
699
700
12.4k
        ColumnPtr res = nullptr;
701
12.4k
        if constexpr (result_is_decimal) {
702
630
            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
629
            } else {
722
629
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
629
                                         DataTypeDecimal256>(
724
629
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
628
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
628
                                        type_left, type_right, type_result);
727
628
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
628
                                auto src = column_right_ptr
729
628
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
628
                                std::memcpy(&tmp, &src, sizeof(src));
731
628
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
628
                                                            type_right, max_and_multiplier.first,
733
628
                                                            max_and_multiplier.second, type_result,
734
628
                                                            check_overflow_for_decimal);
735
628
                                return true;
736
628
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
724
12
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
12
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
12
                                        type_left, type_right, type_result);
727
12
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
12
                                auto src = column_right_ptr
729
12
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
12
                                std::memcpy(&tmp, &src, sizeof(src));
731
12
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
12
                                                            type_right, max_and_multiplier.first,
733
12
                                                            max_and_multiplier.second, type_result,
734
12
                                                            check_overflow_for_decimal);
735
12
                                return true;
736
12
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Line
Count
Source
724
22
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
22
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
22
                                        type_left, type_right, type_result);
727
22
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
22
                                auto src = column_right_ptr
729
22
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
22
                                std::memcpy(&tmp, &src, sizeof(src));
731
22
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
22
                                                            type_right, max_and_multiplier.first,
733
22
                                                            max_and_multiplier.second, type_result,
734
22
                                                            check_overflow_for_decimal);
735
22
                                return true;
736
22
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
724
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
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
1
                                        type_left, type_right, type_result);
727
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
1
                                auto src = column_right_ptr
729
1
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
1
                                std::memcpy(&tmp, &src, sizeof(src));
731
1
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
1
                                                            type_right, max_and_multiplier.first,
733
1
                                                            max_and_multiplier.second, type_result,
734
1
                                                            check_overflow_for_decimal);
735
1
                                return true;
736
1
                            })) {
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
542
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
542
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
542
                                        type_left, type_right, type_result);
727
542
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
542
                                auto src = column_right_ptr
729
542
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
542
                                std::memcpy(&tmp, &src, sizeof(src));
731
542
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
542
                                                            type_right, max_and_multiplier.first,
733
542
                                                            max_and_multiplier.second, type_result,
734
542
                                                            check_overflow_for_decimal);
735
542
                                return true;
736
542
                            })) {
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
629
            }
742
11.8k
        } else {
743
11.8k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
11.8k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
11.8k
            std::memcpy(&tmp, &src, sizeof(src));
746
11.8k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
11.8k
        }
748
630
        return res;
749
12.4k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_20EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
1
                              bool check_overflow_for_decimal) const {
697
1
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
1
        DCHECK(column_right_ptr != nullptr);
699
700
1
        ColumnPtr res = nullptr;
701
1
        if constexpr (result_is_decimal) {
702
1
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
1
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
1
                                        type_left, type_right, type_result);
707
1
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
1
                                auto src = column_right_ptr
709
1
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
1
                                std::memcpy(&tmp, &src, sizeof(src));
711
1
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
1
                                                            type_right, max_and_multiplier.first,
713
1
                                                            max_and_multiplier.second, type_result,
714
1
                                                            check_overflow_for_decimal);
715
1
                                return true;
716
1
                            })) {
717
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
0
                                    type_to_string(res_data_type->get_primitive_type()));
720
0
                }
721
            } else {
722
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
                                         DataTypeDecimal256>(
724
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
                                        type_left, type_right, type_result);
727
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
                                auto src = column_right_ptr
729
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
                                std::memcpy(&tmp, &src, sizeof(src));
731
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
                                                            type_right, max_and_multiplier.first,
733
                                                            max_and_multiplier.second, type_result,
734
                                                            check_overflow_for_decimal);
735
                                return true;
736
                            })) {
737
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
                                    type_to_string(res_data_type->get_primitive_type()));
740
                }
741
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
1
        return res;
749
1
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
34
                              bool check_overflow_for_decimal) const {
697
34
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
34
        DCHECK(column_right_ptr != nullptr);
699
700
34
        ColumnPtr res = nullptr;
701
34
        if constexpr (result_is_decimal) {
702
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
703
                if (!cast_type_to_either<DataTypeDecimalV2>(
704
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
705
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
706
                                        type_left, type_right, type_result);
707
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
708
                                auto src = column_right_ptr
709
                                                   ->template get_value<Impl::DataTypeB::PType>();
710
                                std::memcpy(&tmp, &src, sizeof(src));
711
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
712
                                                            type_right, max_and_multiplier.first,
713
                                                            max_and_multiplier.second, type_result,
714
                                                            check_overflow_for_decimal);
715
                                return true;
716
                            })) {
717
                    throw Exception(ErrorCode::INTERNAL_ERROR,
718
                                    "Wrong type. Expected: Decimal, Actually: {}",
719
                                    type_to_string(res_data_type->get_primitive_type()));
720
                }
721
34
            } else {
722
34
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
34
                                         DataTypeDecimal256>(
724
34
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
34
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
34
                                        type_left, type_right, type_result);
727
34
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
34
                                auto src = column_right_ptr
729
34
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
34
                                std::memcpy(&tmp, &src, sizeof(src));
731
34
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
34
                                                            type_right, max_and_multiplier.first,
733
34
                                                            max_and_multiplier.second, type_result,
734
34
                                                            check_overflow_for_decimal);
735
34
                                return true;
736
34
                            })) {
737
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
738
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
739
0
                                    type_to_string(res_data_type->get_primitive_type()));
740
0
                }
741
34
            }
742
        } else {
743
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
            std::memcpy(&tmp, &src, sizeof(src));
746
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
        }
748
34
        return res;
749
34
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
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
542
                              bool check_overflow_for_decimal) const {
697
542
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
542
        DCHECK(column_right_ptr != nullptr);
699
700
542
        ColumnPtr res = nullptr;
701
542
        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
542
            } else {
722
542
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
723
542
                                         DataTypeDecimal256>(
724
542
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
725
542
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
726
542
                                        type_left, type_right, type_result);
727
542
                                typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
728
542
                                auto src = column_right_ptr
729
542
                                                   ->template get_value<Impl::DataTypeB::PType>();
730
542
                                std::memcpy(&tmp, &src, sizeof(src));
731
542
                                res = Impl::vector_constant(column_left->get_ptr(), tmp, type_left,
732
542
                                                            type_right, max_and_multiplier.first,
733
542
                                                            max_and_multiplier.second, type_result,
734
542
                                                            check_overflow_for_decimal);
735
542
                                return true;
736
542
                            })) {
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
542
            }
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
542
        return res;
749
542
    }
_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
4
                              bool check_overflow_for_decimal) const {
697
4
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
4
        DCHECK(column_right_ptr != nullptr);
699
700
4
        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
4
        } else {
743
4
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
4
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
4
            std::memcpy(&tmp, &src, sizeof(src));
746
4
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
4
        }
748
4
        return res;
749
4
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE15vector_constantENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
696
11.5k
                              bool check_overflow_for_decimal) const {
697
11.5k
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
11.5k
        DCHECK(column_right_ptr != nullptr);
699
700
11.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
11.5k
        } else {
743
11.5k
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
11.5k
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
11.5k
            std::memcpy(&tmp, &src, sizeof(src));
746
11.5k
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
11.5k
        }
748
11.5k
        return res;
749
11.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
258
                              bool check_overflow_for_decimal) const {
697
258
        const auto* column_right_ptr = assert_cast<const ColumnConst*>(column_right.get());
698
258
        DCHECK(column_right_ptr != nullptr);
699
700
258
        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
258
        } else {
743
258
            typename PrimitiveTypeTraits<Impl::DataTypeB::PType>::CppType tmp;
744
258
            auto src = column_right_ptr->template get_value<Impl::DataTypeB::PType>();
745
258
            std::memcpy(&tmp, &src, sizeof(src));
746
258
            res = Impl::vector_constant(column_left->get_ptr(), tmp);
747
258
        }
748
258
        return res;
749
258
    }
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
350
                              bool check_overflow_for_decimal) const {
755
350
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
350
        DCHECK(column_left_ptr != nullptr);
757
758
350
        ColumnPtr res = nullptr;
759
350
        if constexpr (result_is_decimal) {
760
344
            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
343
            } else {
780
343
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
343
                                         DataTypeDecimal256>(
782
343
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
343
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
343
                                        type_left, type_right, type_result);
785
343
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
343
                                auto src = column_left_ptr
787
343
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
343
                                std::memcpy(&tmp, &src, sizeof(src));
789
343
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
343
                                                            type_right, max_and_multiplier.first,
791
343
                                                            max_and_multiplier.second, type_result,
792
343
                                                            check_overflow_for_decimal);
793
343
                                return true;
794
343
                            })) {
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
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_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
331
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
331
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
331
                                        type_left, type_right, type_result);
785
331
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
331
                                auto src = column_left_ptr
787
331
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
331
                                std::memcpy(&tmp, &src, sizeof(src));
789
331
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
331
                                                            type_right, max_and_multiplier.first,
791
331
                                                            max_and_multiplier.second, type_result,
792
331
                                                            check_overflow_for_decimal);
793
331
                                return true;
794
331
                            })) {
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
343
            }
800
344
        } else {
801
6
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
6
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
6
            std::memcpy(&tmp, &src, sizeof(src));
804
6
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
6
        }
806
344
        return res;
807
350
    }
_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
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_13PrimitiveTypeE28ELS2_30EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
331
                              bool check_overflow_for_decimal) const {
755
331
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
331
        DCHECK(column_left_ptr != nullptr);
757
758
331
        ColumnPtr res = nullptr;
759
331
        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
331
            } else {
780
331
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
781
331
                                         DataTypeDecimal256>(
782
331
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
783
331
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
784
331
                                        type_left, type_right, type_result);
785
331
                                typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
786
331
                                auto src = column_left_ptr
787
331
                                                   ->template get_value<Impl::DataTypeA::PType>();
788
331
                                std::memcpy(&tmp, &src, sizeof(src));
789
331
                                res = Impl::constant_vector(tmp, column_right->get_ptr(), type_left,
790
331
                                                            type_right, max_and_multiplier.first,
791
331
                                                            max_and_multiplier.second, type_result,
792
331
                                                            check_overflow_for_decimal);
793
331
                                return true;
794
331
                            })) {
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
331
            }
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
331
        return res;
807
331
    }
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
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE15constant_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
754
6
                              bool check_overflow_for_decimal) const {
755
6
        const auto* column_left_ptr = assert_cast<const ColumnConst*>(column_left.get());
756
6
        DCHECK(column_left_ptr != nullptr);
757
758
6
        ColumnPtr res = nullptr;
759
        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
            } 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
6
        } else {
801
6
            typename PrimitiveTypeTraits<Impl::DataTypeA::PType>::CppType tmp;
802
6
            auto src = column_left_ptr->template get_value<Impl::DataTypeA::PType>();
803
6
            std::memcpy(&tmp, &src, sizeof(src));
804
6
            res = Impl::constant_vector(tmp, column_right->get_ptr());
805
6
        }
806
6
        return res;
807
6
    }
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
7.41k
                            bool check_overflow_for_decimal) const {
813
7.41k
        ColumnPtr res = nullptr;
814
7.41k
        if constexpr (result_is_decimal) {
815
3.38k
            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
151
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
151
                                        type_left, type_right, type_result);
820
151
                                res = Impl::vector_vector(column_left->get_ptr(),
821
151
                                                          column_right->get_ptr(), type_left,
822
151
                                                          type_right, max_and_multiplier.first,
823
151
                                                          max_and_multiplier.second, type_result,
824
151
                                                          check_overflow_for_decimal);
825
151
                                return true;
826
151
                            })) {
827
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
0
                                    type_to_string(res_data_type->get_primitive_type()));
830
0
                }
831
3.23k
            } else {
832
3.23k
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
3.23k
                                         DataTypeDecimal256>(
834
3.23k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
3.22k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
3.22k
                                        type_left, type_right, type_result);
837
3.22k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
3.22k
                                                          column_right->get_ptr(), type_left,
839
3.22k
                                                          type_right, max_and_multiplier.first,
840
3.22k
                                                          max_and_multiplier.second, type_result,
841
3.22k
                                                          check_overflow_for_decimal);
842
3.22k
                                return true;
843
3.22k
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
Line
Count
Source
834
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2
                                        type_left, type_right, type_result);
837
2
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2
                                                          column_right->get_ptr(), type_left,
839
2
                                                          type_right, max_and_multiplier.first,
840
2
                                                          max_and_multiplier.second, type_result,
841
2
                                                          check_overflow_for_decimal);
842
2
                                return true;
843
2
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSK_
Line
Count
Source
834
26
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
26
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
26
                                        type_left, type_right, type_result);
837
26
                                res = Impl::vector_vector(column_left->get_ptr(),
838
26
                                                          column_right->get_ptr(), type_left,
839
26
                                                          type_right, max_and_multiplier.first,
840
26
                                                          max_and_multiplier.second, type_result,
841
26
                                                          check_overflow_for_decimal);
842
26
                                return true;
843
26
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Line
Count
Source
834
2
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2
                                        type_left, type_right, type_result);
837
2
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2
                                                          column_right->get_ptr(), type_left,
839
2
                                                          type_right, max_and_multiplier.first,
840
2
                                                          max_and_multiplier.second, type_result,
841
2
                                                          check_overflow_for_decimal);
842
2
                                return true;
843
2
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Line
Count
Source
834
4
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
4
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
4
                                        type_left, type_right, type_result);
837
4
                                res = Impl::vector_vector(column_left->get_ptr(),
838
4
                                                          column_right->get_ptr(), type_left,
839
4
                                                          type_right, max_and_multiplier.first,
840
4
                                                          max_and_multiplier.second, type_result,
841
4
                                                          check_overflow_for_decimal);
842
4
                                return true;
843
4
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Line
Count
Source
834
45
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
45
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
45
                                        type_left, type_right, type_result);
837
45
                                res = Impl::vector_vector(column_left->get_ptr(),
838
45
                                                          column_right->get_ptr(), type_left,
839
45
                                                          type_right, max_and_multiplier.first,
840
45
                                                          max_and_multiplier.second, type_result,
841
45
                                                          check_overflow_for_decimal);
842
45
                                return true;
843
45
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Line
Count
Source
834
3
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
3
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
3
                                        type_left, type_right, type_result);
837
3
                                res = Impl::vector_vector(column_left->get_ptr(),
838
3
                                                          column_right->get_ptr(), type_left,
839
3
                                                          type_right, max_and_multiplier.first,
840
3
                                                          max_and_multiplier.second, type_result,
841
3
                                                          check_overflow_for_decimal);
842
3
                                return true;
843
3
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_29EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISE_EEDaSN_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSN_
Line
Count
Source
834
1
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
1
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
1
                                        type_left, type_right, type_result);
837
1
                                res = Impl::vector_vector(column_left->get_ptr(),
838
1
                                                          column_right->get_ptr(), type_left,
839
1
                                                          type_right, max_and_multiplier.first,
840
1
                                                          max_and_multiplier.second, type_result,
841
1
                                                          check_overflow_for_decimal);
842
1
                                return true;
843
1
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSN_
Line
Count
Source
834
5
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
5
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
5
                                        type_left, type_right, type_result);
837
5
                                res = Impl::vector_vector(column_left->get_ptr(),
838
5
                                                          column_right->get_ptr(), type_left,
839
5
                                                          type_right, max_and_multiplier.first,
840
5
                                                          max_and_multiplier.second, type_result,
841
5
                                                          check_overflow_for_decimal);
842
5
                                return true;
843
5
                            })) {
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSN_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_28EEEEEDaSK_
Unexecuted instantiation: _ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clISB_EEDaSK_
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_30EEEEEDaSK_
Line
Count
Source
834
2.37k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2.37k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2.37k
                                        type_left, type_right, type_result);
837
2.37k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2.37k
                                                          column_right->get_ptr(), type_left,
839
2.37k
                                                          type_right, max_and_multiplier.first,
840
2.37k
                                                          max_and_multiplier.second, type_result,
841
2.37k
                                                          check_overflow_for_decimal);
842
2.37k
                                return true;
843
2.37k
                            })) {
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
55
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
55
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
55
                                        type_left, type_right, type_result);
837
55
                                res = Impl::vector_vector(column_left->get_ptr(),
838
55
                                                          column_right->get_ptr(), type_left,
839
55
                                                          type_right, max_and_multiplier.first,
840
55
                                                          max_and_multiplier.second, type_result,
841
55
                                                          check_overflow_for_decimal);
842
55
                                return true;
843
55
                            })) {
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
464
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
464
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
464
                                        type_left, type_right, type_result);
837
464
                                res = Impl::vector_vector(column_left->get_ptr(),
838
464
                                                          column_right->get_ptr(), type_left,
839
464
                                                          type_right, max_and_multiplier.first,
840
464
                                                          max_and_multiplier.second, type_result,
841
464
                                                          check_overflow_for_decimal);
842
464
                                return true;
843
464
                            })) {
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
99
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
99
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
99
                                        type_left, type_right, type_result);
837
99
                                res = Impl::vector_vector(column_left->get_ptr(),
838
99
                                                          column_right->get_ptr(), type_left,
839
99
                                                          type_right, max_and_multiplier.first,
840
99
                                                          max_and_multiplier.second, type_result,
841
99
                                                          check_overflow_for_decimal);
842
99
                                return true;
843
99
                            })) {
_ZZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEbENKUlRKT_E_clINSA_ILS2_35EEEEEDaSK_
Line
Count
Source
834
79
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
79
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
79
                                        type_left, type_right, type_result);
837
79
                                res = Impl::vector_vector(column_left->get_ptr(),
838
79
                                                          column_right->get_ptr(), type_left,
839
79
                                                          type_right, max_and_multiplier.first,
840
79
                                                          max_and_multiplier.second, type_result,
841
79
                                                          check_overflow_for_decimal);
842
79
                                return true;
843
79
                            })) {
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
41
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
41
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
41
                                        type_left, type_right, type_result);
837
41
                                res = Impl::vector_vector(column_left->get_ptr(),
838
41
                                                          column_right->get_ptr(), type_left,
839
41
                                                          type_right, max_and_multiplier.first,
840
41
                                                          max_and_multiplier.second, type_result,
841
41
                                                          check_overflow_for_decimal);
842
41
                                return true;
843
41
                            })) {
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
14
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
14
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
14
                                        type_left, type_right, type_result);
837
14
                                res = Impl::vector_vector(column_left->get_ptr(),
838
14
                                                          column_right->get_ptr(), type_left,
839
14
                                                          type_right, max_and_multiplier.first,
840
14
                                                          max_and_multiplier.second, type_result,
841
14
                                                          check_overflow_for_decimal);
842
14
                                return true;
843
14
                            })) {
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.23k
            }
849
4.03k
        } else {
850
4.03k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
4.03k
        }
852
3.38k
        return res;
853
7.41k
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE20ELS2_20EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_20EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
154
                            bool check_overflow_for_decimal) const {
813
154
        ColumnPtr res = nullptr;
814
154
        if constexpr (result_is_decimal) {
815
154
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
154
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
154
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
154
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
154
                                        type_left, type_right, type_result);
820
154
                                res = Impl::vector_vector(column_left->get_ptr(),
821
154
                                                          column_right->get_ptr(), type_left,
822
154
                                                          type_right, max_and_multiplier.first,
823
154
                                                          max_and_multiplier.second, type_result,
824
154
                                                          check_overflow_for_decimal);
825
154
                                return true;
826
154
                            })) {
827
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
0
                                    type_to_string(res_data_type->get_primitive_type()));
830
0
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
154
        return res;
853
154
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
28
                            bool check_overflow_for_decimal) const {
813
28
        ColumnPtr res = nullptr;
814
28
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
28
            } else {
832
28
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
28
                                         DataTypeDecimal256>(
834
28
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
28
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
28
                                        type_left, type_right, type_result);
837
28
                                res = Impl::vector_vector(column_left->get_ptr(),
838
28
                                                          column_right->get_ptr(), type_left,
839
28
                                                          type_right, max_and_multiplier.first,
840
28
                                                          max_and_multiplier.second, type_result,
841
28
                                                          check_overflow_for_decimal);
842
28
                                return true;
843
28
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
28
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
28
        return res;
853
28
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
6
                            bool check_overflow_for_decimal) const {
813
6
        ColumnPtr res = nullptr;
814
6
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
6
            } else {
832
6
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
6
                                         DataTypeDecimal256>(
834
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
6
                                        type_left, type_right, type_result);
837
6
                                res = Impl::vector_vector(column_left->get_ptr(),
838
6
                                                          column_right->get_ptr(), type_left,
839
6
                                                          type_right, max_and_multiplier.first,
840
6
                                                          max_and_multiplier.second, type_result,
841
6
                                                          check_overflow_for_decimal);
842
6
                                return true;
843
6
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
6
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
6
        return res;
853
6
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_30EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
48
                            bool check_overflow_for_decimal) const {
813
48
        ColumnPtr res = nullptr;
814
48
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
48
            } else {
832
48
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
48
                                         DataTypeDecimal256>(
834
48
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
48
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
48
                                        type_left, type_right, type_result);
837
48
                                res = Impl::vector_vector(column_left->get_ptr(),
838
48
                                                          column_right->get_ptr(), type_left,
839
48
                                                          type_right, max_and_multiplier.first,
840
48
                                                          max_and_multiplier.second, type_result,
841
48
                                                          check_overflow_for_decimal);
842
48
                                return true;
843
48
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
48
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
48
        return res;
853
48
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE28ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_28EEEPKNSA_ILS2_35EEESt10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_28EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEEPKNSA_ILS2_28EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
6
                            bool check_overflow_for_decimal) const {
813
6
        ColumnPtr res = nullptr;
814
6
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
6
            } else {
832
6
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
6
                                         DataTypeDecimal256>(
834
6
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
6
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
6
                                        type_left, type_right, type_result);
837
6
                                res = Impl::vector_vector(column_left->get_ptr(),
838
6
                                                          column_right->get_ptr(), type_left,
839
6
                                                          type_right, max_and_multiplier.first,
840
6
                                                          max_and_multiplier.second, type_result,
841
6
                                                          check_overflow_for_decimal);
842
6
                                return true;
843
6
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
6
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
6
        return res;
853
6
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE29ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_29EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
2.37k
                            bool check_overflow_for_decimal) const {
813
2.37k
        ColumnPtr res = nullptr;
814
2.37k
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
2.37k
            } else {
832
2.37k
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
2.37k
                                         DataTypeDecimal256>(
834
2.37k
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
2.37k
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
2.37k
                                        type_left, type_right, type_result);
837
2.37k
                                res = Impl::vector_vector(column_left->get_ptr(),
838
2.37k
                                                          column_right->get_ptr(), type_left,
839
2.37k
                                                          type_right, max_and_multiplier.first,
840
2.37k
                                                          max_and_multiplier.second, type_result,
841
2.37k
                                                          check_overflow_for_decimal);
842
2.37k
                                return true;
843
2.37k
                            })) {
844
0
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
0
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
0
                                    type_to_string(res_data_type->get_primitive_type()));
847
0
                }
848
2.37k
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
2.37k
        return res;
853
2.37k
    }
_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
55
                            bool check_overflow_for_decimal) const {
813
55
        ColumnPtr res = nullptr;
814
55
        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
55
            } else {
832
55
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
55
                                         DataTypeDecimal256>(
834
55
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
55
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
55
                                        type_left, type_right, type_result);
837
55
                                res = Impl::vector_vector(column_left->get_ptr(),
838
55
                                                          column_right->get_ptr(), type_left,
839
55
                                                          type_right, max_and_multiplier.first,
840
55
                                                          max_and_multiplier.second, type_result,
841
55
                                                          check_overflow_for_decimal);
842
55
                                return true;
843
55
                            })) {
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
55
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
55
        return res;
853
55
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_29EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEEPKNSA_ILS2_29EEESt10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
464
                            bool check_overflow_for_decimal) const {
813
464
        ColumnPtr res = nullptr;
814
464
        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
464
            } else {
832
464
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
464
                                         DataTypeDecimal256>(
834
464
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
464
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
464
                                        type_left, type_right, type_result);
837
464
                                res = Impl::vector_vector(column_left->get_ptr(),
838
464
                                                          column_right->get_ptr(), type_left,
839
464
                                                          type_right, max_and_multiplier.first,
840
464
                                                          max_and_multiplier.second, type_result,
841
464
                                                          check_overflow_for_decimal);
842
464
                                return true;
843
464
                            })) {
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
464
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
464
        return res;
853
464
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE30ELS2_30EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_30EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
177
                            bool check_overflow_for_decimal) const {
813
177
        ColumnPtr res = nullptr;
814
177
        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
177
            } else {
832
177
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
177
                                         DataTypeDecimal256>(
834
177
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
177
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
177
                                        type_left, type_right, type_result);
837
177
                                res = Impl::vector_vector(column_left->get_ptr(),
838
177
                                                          column_right->get_ptr(), type_left,
839
177
                                                          type_right, max_and_multiplier.first,
840
177
                                                          max_and_multiplier.second, type_result,
841
177
                                                          check_overflow_for_decimal);
842
177
                                return true;
843
177
                            })) {
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
177
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
177
        return res;
853
177
    }
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
41
                            bool check_overflow_for_decimal) const {
813
41
        ColumnPtr res = nullptr;
814
41
        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
41
            } else {
832
41
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
41
                                         DataTypeDecimal256>(
834
41
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
41
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
41
                                        type_left, type_right, type_result);
837
41
                                res = Impl::vector_vector(column_left->get_ptr(),
838
41
                                                          column_right->get_ptr(), type_left,
839
41
                                                          type_right, max_and_multiplier.first,
840
41
                                                          max_and_multiplier.second, type_result,
841
41
                                                          check_overflow_for_decimal);
842
41
                                return true;
843
41
                            })) {
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
41
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
41
        return res;
853
41
    }
_ZNK5doris16FunctionMultiplyINS_19MultiplyDecimalImplILNS_13PrimitiveTypeE35ELS2_35EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_15DataTypeDecimalILS2_35EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
14
                            bool check_overflow_for_decimal) const {
813
14
        ColumnPtr res = nullptr;
814
14
        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
14
            } else {
832
14
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
14
                                         DataTypeDecimal256>(
834
14
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
14
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
14
                                        type_left, type_right, type_result);
837
14
                                res = Impl::vector_vector(column_left->get_ptr(),
838
14
                                                          column_right->get_ptr(), type_left,
839
14
                                                          type_right, max_and_multiplier.first,
840
14
                                                          max_and_multiplier.second, type_result,
841
14
                                                          check_overflow_for_decimal);
842
14
                                return true;
843
14
                            })) {
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
14
            }
849
        } else {
850
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
        }
852
14
        return res;
853
14
    }
Unexecuted instantiation: _ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE3EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_3EEESD_St10shared_ptrIKNS_9IDataTypeEEb
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE4EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_4EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
38
                            bool check_overflow_for_decimal) const {
813
38
        ColumnPtr res = nullptr;
814
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
38
        } else {
850
38
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
38
        }
852
38
        return res;
853
38
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE5EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_5EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
64
                            bool check_overflow_for_decimal) const {
813
64
        ColumnPtr res = nullptr;
814
        if constexpr (result_is_decimal) {
815
            if constexpr (Impl::DataTypeA::PType == TYPE_DECIMALV2) {
816
                if (!cast_type_to_either<DataTypeDecimalV2>(
817
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
818
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
819
                                        type_left, type_right, type_result);
820
                                res = Impl::vector_vector(column_left->get_ptr(),
821
                                                          column_right->get_ptr(), type_left,
822
                                                          type_right, max_and_multiplier.first,
823
                                                          max_and_multiplier.second, type_result,
824
                                                          check_overflow_for_decimal);
825
                                return true;
826
                            })) {
827
                    throw Exception(ErrorCode::INTERNAL_ERROR,
828
                                    "Wrong type. Expected: Decimal, Actually: {}",
829
                                    type_to_string(res_data_type->get_primitive_type()));
830
                }
831
            } else {
832
                if (!cast_type_to_either<DataTypeDecimal32, DataTypeDecimal64, DataTypeDecimal128,
833
                                         DataTypeDecimal256>(
834
                            remove_nullable(res_data_type).get(), [&](const auto& type_result) {
835
                                auto max_and_multiplier = Impl::get_max_and_multiplier(
836
                                        type_left, type_right, type_result);
837
                                res = Impl::vector_vector(column_left->get_ptr(),
838
                                                          column_right->get_ptr(), type_left,
839
                                                          type_right, max_and_multiplier.first,
840
                                                          max_and_multiplier.second, type_result,
841
                                                          check_overflow_for_decimal);
842
                                return true;
843
                            })) {
844
                    throw Exception(ErrorCode::INTERNAL_ERROR,
845
                                    "Wrong type. Expected: Decimal, Actually: {}",
846
                                    type_to_string(res_data_type->get_primitive_type()));
847
                }
848
            }
849
64
        } else {
850
64
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
64
        }
852
64
        return res;
853
64
    }
_ZNK5doris16FunctionMultiplyINS_20MultiplyIntegralImplILNS_13PrimitiveTypeE6EEEE13vector_vectorENS_3COWINS_7IColumnEE13immutable_ptrIS6_EES9_PKNS_14DataTypeNumberILS2_6EEESD_St10shared_ptrIKNS_9IDataTypeEEb
Line
Count
Source
812
972
                            bool check_overflow_for_decimal) const {
813
972
        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
972
        } else {
850
972
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
972
        }
852
972
        return res;
853
972
    }
_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.80k
                            bool check_overflow_for_decimal) const {
813
2.80k
        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.80k
        } else {
850
2.80k
            res = Impl::vector_vector(column_left->get_ptr(), column_right->get_ptr());
851
2.80k
        }
852
2.80k
        return res;
853
2.80k
    }
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