Coverage Report

Created: 2026-03-17 08:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/short_circuit_util.h
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
18
#pragma once
19
#include "core/block/column_with_type_and_name.h"
20
#include "core/column/column.h"
21
#include "core/column/column_const.h"
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_vector.h"
24
#include "core/field.h"
25
#include "exprs/vexpr.h"
26
27
namespace doris {
28
29
// Used to store a column along with its null_map and whether it is a const column.
30
// If the input column is not nullable, then null_map will be nullptr.
31
struct ColumnNullConstView {
32
    const IColumn& column;
33
    const NullMap* null_map;
34
    const bool is_const;
35
36
2.72k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
2.72k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
2.72k
        if (const auto* nullable_column =
40
2.72k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.00k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.00k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.00k
                                        .is_const = is_const};
44
1.71k
        } else {
45
1.71k
            return ColumnNullConstView {
46
1.71k
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
1.71k
        }
48
2.72k
    }
49
};
50
51
// Scalar version stores a reference to the actual data type array for convenient subsequent operations.
52
template <PrimitiveType PType>
53
struct ColumnNullConstViewScalar {
54
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
55
    using ArrayType = typename ColumnType::Container;
56
57
    const ArrayType& data;
58
    const NullMap* null_map;
59
    const bool is_const;
60
61
8.15k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
8.15k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
8.15k
        const NullMap* null_map = nullptr;
64
8.15k
        const ArrayType* data = nullptr;
65
8.15k
        if (const auto* nullable_column =
66
8.15k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1.99k
            null_map = &nullable_column->get_null_map_data();
68
1.99k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1.99k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6.15k
        } else {
71
6.15k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
6.15k
        }
73
74
8.15k
        return ColumnNullConstViewScalar {
75
8.15k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
8.15k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
3.61k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
3.61k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
3.61k
        const NullMap* null_map = nullptr;
64
3.61k
        const ArrayType* data = nullptr;
65
3.61k
        if (const auto* nullable_column =
66
3.61k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
800
            null_map = &nullable_column->get_null_map_data();
68
800
            const auto& nested_from_column = nullable_column->get_nested_column();
69
800
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2.81k
        } else {
71
2.81k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2.81k
        }
73
74
3.61k
        return ColumnNullConstViewScalar {
75
3.61k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
3.61k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
3.01k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
3.01k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
3.01k
        const NullMap* null_map = nullptr;
64
3.01k
        const ArrayType* data = nullptr;
65
3.01k
        if (const auto* nullable_column =
66
3.01k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
47
            null_map = &nullable_column->get_null_map_data();
68
47
            const auto& nested_from_column = nullable_column->get_nested_column();
69
47
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2.96k
        } else {
71
2.96k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2.96k
        }
73
74
3.01k
        return ColumnNullConstViewScalar {
75
3.01k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
3.01k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2
        const NullMap* null_map = nullptr;
64
2
        const ArrayType* data = nullptr;
65
2
        if (const auto* nullable_column =
66
2
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1
            null_map = &nullable_column->get_null_map_data();
68
1
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
1
        } else {
71
1
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1
        }
73
74
2
        return ColumnNullConstViewScalar {
75
2
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.02k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.02k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.02k
        const NullMap* null_map = nullptr;
64
1.02k
        const ArrayType* data = nullptr;
65
1.02k
        if (const auto* nullable_column =
66
1.02k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
837
            null_map = &nullable_column->get_null_map_data();
68
837
            const auto& nested_from_column = nullable_column->get_nested_column();
69
837
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
837
        } else {
71
187
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
187
        }
73
74
1.02k
        return ColumnNullConstViewScalar {
75
1.02k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.02k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
170
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
170
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
170
        const NullMap* null_map = nullptr;
64
170
        const ArrayType* data = nullptr;
65
170
        if (const auto* nullable_column =
66
170
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
90
            null_map = &nullable_column->get_null_map_data();
68
90
            const auto& nested_from_column = nullable_column->get_nested_column();
69
90
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
90
        } else {
71
80
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
80
        }
73
74
170
        return ColumnNullConstViewScalar {
75
170
                .data = *data, .null_map = null_map, .is_const = is_const};
76
170
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
102
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
102
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
102
        const NullMap* null_map = nullptr;
64
102
        const ArrayType* data = nullptr;
65
102
        if (const auto* nullable_column =
66
102
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
79
            null_map = &nullable_column->get_null_map_data();
68
79
            const auto& nested_from_column = nullable_column->get_nested_column();
69
79
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
79
        } else {
71
23
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
23
        }
73
74
102
        return ColumnNullConstViewScalar {
75
102
                .data = *data, .null_map = null_map, .is_const = is_const};
76
102
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
22
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
22
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
22
        const NullMap* null_map = nullptr;
64
22
        const ArrayType* data = nullptr;
65
22
        if (const auto* nullable_column =
66
22
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
20
            null_map = &nullable_column->get_null_map_data();
68
20
            const auto& nested_from_column = nullable_column->get_nested_column();
69
20
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
20
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
22
        return ColumnNullConstViewScalar {
75
22
                .data = *data, .null_map = null_map, .is_const = is_const};
76
22
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
20
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
20
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
20
        const NullMap* null_map = nullptr;
64
20
        const ArrayType* data = nullptr;
65
20
        if (const auto* nullable_column =
66
20
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
12
            null_map = &nullable_column->get_null_map_data();
68
12
            const auto& nested_from_column = nullable_column->get_nested_column();
69
12
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
12
        } else {
71
8
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
8
        }
73
74
20
        return ColumnNullConstViewScalar {
75
20
                .data = *data, .null_map = null_map, .is_const = is_const};
76
20
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
108
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
108
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
108
        const NullMap* null_map = nullptr;
64
108
        const ArrayType* data = nullptr;
65
108
        if (const auto* nullable_column =
66
108
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
45
            null_map = &nullable_column->get_null_map_data();
68
45
            const auto& nested_from_column = nullable_column->get_nested_column();
69
45
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
63
        } else {
71
63
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
63
        }
73
74
108
        return ColumnNullConstViewScalar {
75
108
                .data = *data, .null_map = null_map, .is_const = is_const};
76
108
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
11
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
11
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
11
        const NullMap* null_map = nullptr;
64
11
        const ArrayType* data = nullptr;
65
11
        if (const auto* nullable_column =
66
11
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
11
            null_map = &nullable_column->get_null_map_data();
68
11
            const auto& nested_from_column = nullable_column->get_nested_column();
69
11
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
11
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
11
        return ColumnNullConstViewScalar {
75
11
                .data = *data, .null_map = null_map, .is_const = is_const};
76
11
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
36
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
36
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
36
        const NullMap* null_map = nullptr;
64
36
        const ArrayType* data = nullptr;
65
36
        if (const auto* nullable_column =
66
36
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
27
            null_map = &nullable_column->get_null_map_data();
68
27
            const auto& nested_from_column = nullable_column->get_nested_column();
69
27
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
27
        } else {
71
9
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
9
        }
73
74
36
        return ColumnNullConstViewScalar {
75
36
                .data = *data, .null_map = null_map, .is_const = is_const};
76
36
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
14
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
14
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
14
        const NullMap* null_map = nullptr;
64
14
        const ArrayType* data = nullptr;
65
14
        if (const auto* nullable_column =
66
14
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
13
            null_map = &nullable_column->get_null_map_data();
68
13
            const auto& nested_from_column = nullable_column->get_nested_column();
69
13
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
13
        } else {
71
1
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1
        }
73
74
14
        return ColumnNullConstViewScalar {
75
14
                .data = *data, .null_map = null_map, .is_const = is_const};
76
14
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
16
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
16
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
16
        const NullMap* null_map = nullptr;
64
16
        const ArrayType* data = nullptr;
65
16
        if (const auto* nullable_column =
66
16
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
16
            null_map = &nullable_column->get_null_map_data();
68
16
            const auto& nested_from_column = nullable_column->get_nested_column();
69
16
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
16
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
16
        return ColumnNullConstViewScalar {
75
16
                .data = *data, .null_map = null_map, .is_const = is_const};
76
16
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
738
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
738
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
517
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
517
                                          .null_map = &nullable_column->get_null_map_data()};
88
517
        } else {
89
221
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
221
        }
91
738
    }
92
93
2.51k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
2.51k
        auto index = index_check_const(i, from.is_const);
95
2.51k
        column.insert_from(from.column, index);
96
2.51k
        if (null_map != nullptr && from.null_map != nullptr) {
97
875
            null_map->push_back((*from.null_map)[index]);
98
1.64k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
1.10k
            null_map->push_back(0);
101
1.10k
        }
102
2.51k
    }
103
104
16
    void insert_null() {
105
16
        if (null_map == nullptr) {
106
0
            throw doris::Exception(ErrorCode::INTERNAL_ERROR,
107
0
                                   "Cannot insert null value into non-nullable column in "
108
0
                                   "ShortCircuitCoalesceExpr.");
109
0
        }
110
16
        column.insert_default();
111
16
        null_map->push_back(1);
112
16
    }
113
};
114
115
template <PrimitiveType PType>
116
struct MutableColumnNullViewScalar {
117
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
118
    using ArrayType = typename ColumnType::Container;
119
120
    ArrayType& data;
121
    NullMap* null_map;
122
123
2.39k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2.39k
        ColumnType* data_column = nullptr;
125
2.39k
        NullMap* null_map = nullptr;
126
2.39k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
603
            null_map = &nullable_column->get_null_map_data();
128
603
            auto& nested_column = nullable_column->get_nested_column();
129
603
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.79k
        } else {
131
1.79k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
1.79k
        }
133
134
2.39k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2.39k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
115
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
115
        ColumnType* data_column = nullptr;
125
115
        NullMap* null_map = nullptr;
126
115
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
0
            null_map = &nullable_column->get_null_map_data();
128
0
            auto& nested_column = nullable_column->get_nested_column();
129
0
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
115
        } else {
131
115
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
115
        }
133
134
115
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
115
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.50k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.50k
        ColumnType* data_column = nullptr;
125
1.50k
        NullMap* null_map = nullptr;
126
1.50k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
27
            null_map = &nullable_column->get_null_map_data();
128
27
            auto& nested_column = nullable_column->get_nested_column();
129
27
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.47k
        } else {
131
1.47k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
1.47k
        }
133
134
1.50k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.50k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1
        ColumnType* data_column = nullptr;
125
1
        NullMap* null_map = nullptr;
126
1
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1
            null_map = &nullable_column->get_null_map_data();
128
1
            auto& nested_column = nullable_column->get_nested_column();
129
1
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
1
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
515
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
515
        ColumnType* data_column = nullptr;
125
515
        NullMap* null_map = nullptr;
126
515
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
418
            null_map = &nullable_column->get_null_map_data();
128
418
            auto& nested_column = nullable_column->get_nested_column();
129
418
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
418
        } else {
131
97
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
97
        }
133
134
515
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
515
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
90
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
90
        ColumnType* data_column = nullptr;
125
90
        NullMap* null_map = nullptr;
126
90
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
42
            null_map = &nullable_column->get_null_map_data();
128
42
            auto& nested_column = nullable_column->get_nested_column();
129
42
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
48
        } else {
131
48
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
48
        }
133
134
90
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
90
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
52
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
52
        ColumnType* data_column = nullptr;
125
52
        NullMap* null_map = nullptr;
126
52
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
36
            null_map = &nullable_column->get_null_map_data();
128
36
            auto& nested_column = nullable_column->get_nested_column();
129
36
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
36
        } else {
131
16
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
16
        }
133
134
52
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
52
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
11
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
11
        ColumnType* data_column = nullptr;
125
11
        NullMap* null_map = nullptr;
126
11
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
11
            null_map = &nullable_column->get_null_map_data();
128
11
            auto& nested_column = nullable_column->get_nested_column();
129
11
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
11
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
11
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
13
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
13
        ColumnType* data_column = nullptr;
125
13
        NullMap* null_map = nullptr;
126
13
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
3
            null_map = &nullable_column->get_null_map_data();
128
3
            auto& nested_column = nullable_column->get_nested_column();
129
3
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
10
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
10
        }
133
134
13
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
13
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
55
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
55
        ColumnType* data_column = nullptr;
125
55
        NullMap* null_map = nullptr;
126
55
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
30
            null_map = &nullable_column->get_null_map_data();
128
30
            auto& nested_column = nullable_column->get_nested_column();
129
30
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
30
        } else {
131
25
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
25
        }
133
134
55
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
55
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
6
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
6
        ColumnType* data_column = nullptr;
125
6
        NullMap* null_map = nullptr;
126
6
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
6
            null_map = &nullable_column->get_null_map_data();
128
6
            auto& nested_column = nullable_column->get_nested_column();
129
6
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
6
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
6
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
18
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
18
        ColumnType* data_column = nullptr;
125
18
        NullMap* null_map = nullptr;
126
18
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
13
            null_map = &nullable_column->get_null_map_data();
128
13
            auto& nested_column = nullable_column->get_nested_column();
129
13
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
13
        } else {
131
5
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5
        }
133
134
18
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
18
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
7
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
7
        ColumnType* data_column = nullptr;
125
7
        NullMap* null_map = nullptr;
126
7
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
6
            null_map = &nullable_column->get_null_map_data();
128
6
            auto& nested_column = nullable_column->get_nested_column();
129
6
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
6
        } else {
131
1
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
1
        }
133
134
7
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
7
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
4.76k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
4.76k
        auto& result_data = data;
139
4.76k
        const auto& from_data = from.data;
140
141
4.76k
        auto* result_null_map_data = null_map;
142
4.76k
        const auto* from_null_map_data = from.null_map;
143
144
4.76k
        if (from.is_const) {
145
2.38k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2.38k
                                     from_null_map_data, selector);
147
2.38k
        } else {
148
2.38k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
2.38k
                                      from_null_map_data, selector);
150
2.38k
        }
151
4.76k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
230
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
230
        auto& result_data = data;
139
230
        const auto& from_data = from.data;
140
141
230
        auto* result_null_map_data = null_map;
142
230
        const auto* from_null_map_data = from.null_map;
143
144
230
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
230
        } else {
148
230
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
230
                                      from_null_map_data, selector);
150
230
        }
151
230
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
3.01k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
3.01k
        auto& result_data = data;
139
3.01k
        const auto& from_data = from.data;
140
141
3.01k
        auto* result_null_map_data = null_map;
142
3.01k
        const auto* from_null_map_data = from.null_map;
143
144
3.01k
        if (from.is_const) {
145
1.94k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1.94k
                                     from_null_map_data, selector);
147
1.94k
        } else {
148
1.07k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.07k
                                      from_null_map_data, selector);
150
1.07k
        }
151
3.01k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2
        auto& result_data = data;
139
2
        const auto& from_data = from.data;
140
141
2
        auto* result_null_map_data = null_map;
142
2
        const auto* from_null_map_data = from.null_map;
143
144
2
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
2
        } else {
148
0
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
0
                                      from_null_map_data, selector);
150
0
        }
151
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.02k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.02k
        auto& result_data = data;
139
1.02k
        const auto& from_data = from.data;
140
141
1.02k
        auto* result_null_map_data = null_map;
142
1.02k
        const auto* from_null_map_data = from.null_map;
143
144
1.02k
        if (from.is_const) {
145
328
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
328
                                     from_null_map_data, selector);
147
692
        } else {
148
692
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
692
                                      from_null_map_data, selector);
150
692
        }
151
1.02k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
170
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
170
        auto& result_data = data;
139
170
        const auto& from_data = from.data;
140
141
170
        auto* result_null_map_data = null_map;
142
170
        const auto* from_null_map_data = from.null_map;
143
144
170
        if (from.is_const) {
145
36
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
36
                                     from_null_map_data, selector);
147
134
        } else {
148
134
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
134
                                      from_null_map_data, selector);
150
134
        }
151
170
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
102
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
102
        auto& result_data = data;
139
102
        const auto& from_data = from.data;
140
141
102
        auto* result_null_map_data = null_map;
142
102
        const auto* from_null_map_data = from.null_map;
143
144
102
        if (from.is_const) {
145
20
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
20
                                     from_null_map_data, selector);
147
82
        } else {
148
82
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
82
                                      from_null_map_data, selector);
150
82
        }
151
102
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
22
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
22
        auto& result_data = data;
139
22
        const auto& from_data = from.data;
140
141
22
        auto* result_null_map_data = null_map;
142
22
        const auto* from_null_map_data = from.null_map;
143
144
22
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
21
        } else {
148
21
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
21
                                      from_null_map_data, selector);
150
21
        }
151
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
20
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
20
        auto& result_data = data;
139
20
        const auto& from_data = from.data;
140
141
20
        auto* result_null_map_data = null_map;
142
20
        const auto* from_null_map_data = from.null_map;
143
144
20
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
18
        } else {
148
18
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
18
                                      from_null_map_data, selector);
150
18
        }
151
20
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
108
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
108
        auto& result_data = data;
139
108
        const auto& from_data = from.data;
140
141
108
        auto* result_null_map_data = null_map;
142
108
        const auto* from_null_map_data = from.null_map;
143
144
108
        if (from.is_const) {
145
33
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
33
                                     from_null_map_data, selector);
147
75
        } else {
148
75
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
75
                                      from_null_map_data, selector);
150
75
        }
151
108
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_35EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
11
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
11
        auto& result_data = data;
139
11
        const auto& from_data = from.data;
140
141
11
        auto* result_null_map_data = null_map;
142
11
        const auto* from_null_map_data = from.null_map;
143
144
11
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
11
        } else {
148
11
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
11
                                      from_null_map_data, selector);
150
11
        }
151
11
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_11EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_25EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
36
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
36
        auto& result_data = data;
139
36
        const auto& from_data = from.data;
140
141
36
        auto* result_null_map_data = null_map;
142
36
        const auto* from_null_map_data = from.null_map;
143
144
36
        if (from.is_const) {
145
8
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
8
                                     from_null_map_data, selector);
147
28
        } else {
148
28
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
28
                                      from_null_map_data, selector);
150
28
        }
151
36
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
14
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
14
        auto& result_data = data;
139
14
        const auto& from_data = from.data;
140
141
14
        auto* result_null_map_data = null_map;
142
14
        const auto* from_null_map_data = from.null_map;
143
144
14
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
14
        } else {
148
14
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
14
                                      from_null_map_data, selector);
150
14
        }
151
14
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
16
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
16
        auto& result_data = data;
139
16
        const auto& from_data = from.data;
140
141
16
        auto* result_null_map_data = null_map;
142
16
        const auto* from_null_map_data = from.null_map;
143
144
16
        if (from.is_const) {
145
10
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
10
                                     from_null_map_data, selector);
147
10
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
4.76k
                                   const Selector& selector) {
157
4.76k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4.76k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.03k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.03k
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4.76k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
230
                                   const Selector& selector) {
157
230
        insert_with_selector<is_const>(result_data, from_data, selector);
158
230
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
230
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.94k
                                   const Selector& selector) {
157
1.94k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.94k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1.94k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.07k
                                   const Selector& selector) {
157
1.07k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.07k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
22
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
22
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1.07k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
328
                                   const Selector& selector) {
157
328
        insert_with_selector<is_const>(result_data, from_data, selector);
158
328
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
288
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
288
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
328
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
692
                                   const Selector& selector) {
157
692
        insert_with_selector<is_const>(result_data, from_data, selector);
158
692
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
475
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
475
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
692
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
36
                                   const Selector& selector) {
157
36
        insert_with_selector<is_const>(result_data, from_data, selector);
158
36
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
3
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
3
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
36
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
134
                                   const Selector& selector) {
157
134
        insert_with_selector<is_const>(result_data, from_data, selector);
158
134
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
55
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
55
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
134
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
20
                                   const Selector& selector) {
157
20
        insert_with_selector<is_const>(result_data, from_data, selector);
158
20
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
82
                                   const Selector& selector) {
157
82
        insert_with_selector<is_const>(result_data, from_data, selector);
158
82
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
61
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
61
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
82
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
1
                                   const Selector& selector) {
157
1
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
21
                                   const Selector& selector) {
157
21
        insert_with_selector<is_const>(result_data, from_data, selector);
158
21
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
19
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
19
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
21
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
18
                                   const Selector& selector) {
157
18
        insert_with_selector<is_const>(result_data, from_data, selector);
158
18
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
4
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
4
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
18
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
33
                                   const Selector& selector) {
157
33
        insert_with_selector<is_const>(result_data, from_data, selector);
158
33
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
4
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
4
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
33
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
75
                                   const Selector& selector) {
157
75
        insert_with_selector<is_const>(result_data, from_data, selector);
158
75
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
40
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
40
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
75
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
Line
Count
Source
156
11
                                   const Selector& selector) {
157
11
        insert_with_selector<is_const>(result_data, from_data, selector);
158
11
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
11
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
11
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
11
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
8
                                   const Selector& selector) {
157
8
        insert_with_selector<is_const>(result_data, from_data, selector);
158
8
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
28
                                   const Selector& selector) {
157
28
        insert_with_selector<is_const>(result_data, from_data, selector);
158
28
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
20
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
20
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
28
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
14
                                   const Selector& selector) {
157
14
        insert_with_selector<is_const>(result_data, from_data, selector);
158
14
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
14
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
10
                                   const Selector& selector) {
157
10
        insert_with_selector<is_const>(result_data, from_data, selector);
158
10
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
10
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
10
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
5.80k
                                     const Selector& selector) {
169
92.7k
        for (size_t i = 0; i < selector.size(); ++i) {
170
86.9k
            auto index = selector[i];
171
86.9k
            result_data[index] = data[index_check_const<is_const>(i)];
172
86.9k
        }
173
5.80k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
230
                                     const Selector& selector) {
169
596
        for (size_t i = 0; i < selector.size(); ++i) {
170
366
            auto index = selector[i];
171
366
            result_data[index] = data[index_check_const<is_const>(i)];
172
366
        }
173
230
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.94k
                                     const Selector& selector) {
169
59.2k
        for (size_t i = 0; i < selector.size(); ++i) {
170
57.2k
            auto index = selector[i];
171
57.2k
            result_data[index] = data[index_check_const<is_const>(i)];
172
57.2k
        }
173
1.94k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.07k
                                     const Selector& selector) {
169
1.11k
        for (size_t i = 0; i < selector.size(); ++i) {
170
45
            auto index = selector[i];
171
45
            result_data[index] = data[index_check_const<is_const>(i)];
172
45
        }
173
1.07k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
38
        for (size_t i = 0; i < selector.size(); ++i) {
170
16
            auto index = selector[i];
171
16
            result_data[index] = data[index_check_const<is_const>(i)];
172
16
        }
173
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
12
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
5
            auto index = selector[i];
171
5
            result_data[index] = data[index_check_const<is_const>(i)];
172
5
        }
173
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
328
                                     const Selector& selector) {
169
1.47k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.14k
            auto index = selector[i];
171
1.14k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.14k
        }
173
328
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
288
                                     const Selector& selector) {
169
1.36k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.07k
            auto index = selector[i];
171
1.07k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.07k
        }
173
288
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
692
                                     const Selector& selector) {
169
1.40k
        for (size_t i = 0; i < selector.size(); ++i) {
170
716
            auto index = selector[i];
171
716
            result_data[index] = data[index_check_const<is_const>(i)];
172
716
        }
173
692
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
475
                                     const Selector& selector) {
169
833
        for (size_t i = 0; i < selector.size(); ++i) {
170
358
            auto index = selector[i];
171
358
            result_data[index] = data[index_check_const<is_const>(i)];
172
358
        }
173
475
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
36
                                     const Selector& selector) {
169
140
        for (size_t i = 0; i < selector.size(); ++i) {
170
104
            auto index = selector[i];
171
104
            result_data[index] = data[index_check_const<is_const>(i)];
172
104
        }
173
36
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
3
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
134
                                     const Selector& selector) {
169
341
        for (size_t i = 0; i < selector.size(); ++i) {
170
207
            auto index = selector[i];
171
207
            result_data[index] = data[index_check_const<is_const>(i)];
172
207
        }
173
134
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
55
                                     const Selector& selector) {
169
141
        for (size_t i = 0; i < selector.size(); ++i) {
170
86
            auto index = selector[i];
171
86
            result_data[index] = data[index_check_const<is_const>(i)];
172
86
        }
173
55
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
20
                                     const Selector& selector) {
169
6.43k
        for (size_t i = 0; i < selector.size(); ++i) {
170
6.41k
            auto index = selector[i];
171
6.41k
            result_data[index] = data[index_check_const<is_const>(i)];
172
6.41k
        }
173
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
82
                                     const Selector& selector) {
169
1.37k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.29k
            auto index = selector[i];
171
1.29k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.29k
        }
173
82
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
61
                                     const Selector& selector) {
169
1.34k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.28k
            auto index = selector[i];
171
1.28k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.28k
        }
173
61
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
21
                                     const Selector& selector) {
169
54
        for (size_t i = 0; i < selector.size(); ++i) {
170
33
            auto index = selector[i];
171
33
            result_data[index] = data[index_check_const<is_const>(i)];
172
33
        }
173
21
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
19
                                     const Selector& selector) {
169
52
        for (size_t i = 0; i < selector.size(); ++i) {
170
33
            auto index = selector[i];
171
33
            result_data[index] = data[index_check_const<is_const>(i)];
172
33
        }
173
19
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
3
            auto index = selector[i];
171
3
            result_data[index] = data[index_check_const<is_const>(i)];
172
3
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
18
                                     const Selector& selector) {
169
39
        for (size_t i = 0; i < selector.size(); ++i) {
170
21
            auto index = selector[i];
171
21
            result_data[index] = data[index_check_const<is_const>(i)];
172
21
        }
173
18
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
12
        for (size_t i = 0; i < selector.size(); ++i) {
170
8
            auto index = selector[i];
171
8
            result_data[index] = data[index_check_const<is_const>(i)];
172
8
        }
173
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
33
                                     const Selector& selector) {
169
13.6k
        for (size_t i = 0; i < selector.size(); ++i) {
170
13.6k
            auto index = selector[i];
171
13.6k
            result_data[index] = data[index_check_const<is_const>(i)];
172
13.6k
        }
173
33
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
9
        for (size_t i = 0; i < selector.size(); ++i) {
170
5
            auto index = selector[i];
171
5
            result_data[index] = data[index_check_const<is_const>(i)];
172
5
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
75
                                     const Selector& selector) {
169
2.62k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.54k
            auto index = selector[i];
171
2.54k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.54k
        }
173
75
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
40
                                     const Selector& selector) {
169
95
        for (size_t i = 0; i < selector.size(); ++i) {
170
55
            auto index = selector[i];
171
55
            result_data[index] = data[index_check_const<is_const>(i)];
172
55
        }
173
40
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
11
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
23
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
3
            auto index = selector[i];
171
3
            result_data[index] = data[index_check_const<is_const>(i)];
172
3
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
28
                                     const Selector& selector) {
169
59
        for (size_t i = 0; i < selector.size(); ++i) {
170
31
            auto index = selector[i];
171
31
            result_data[index] = data[index_check_const<is_const>(i)];
172
31
        }
173
28
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
20
                                     const Selector& selector) {
169
41
        for (size_t i = 0; i < selector.size(); ++i) {
170
21
            auto index = selector[i];
171
21
            result_data[index] = data[index_check_const<is_const>(i)];
172
21
        }
173
20
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
14
                                     const Selector& selector) {
169
38
        for (size_t i = 0; i < selector.size(); ++i) {
170
24
            auto index = selector[i];
171
24
            result_data[index] = data[index_check_const<is_const>(i)];
172
24
        }
173
14
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
35
        for (size_t i = 0; i < selector.size(); ++i) {
170
23
            auto index = selector[i];
171
23
            result_data[index] = data[index_check_const<is_const>(i)];
172
23
        }
173
12
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
5
        auto& null_map_data = *null_map;
183
13
        for (size_t i = 0; i < selector.size(); ++i) {
184
8
            null_map_data[selector[i]] = 1;
185
8
        }
186
5
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
5
        auto& null_map_data = *null_map;
183
13
        for (size_t i = 0; i < selector.size(); ++i) {
184
8
            null_map_data[selector[i]] = 1;
185
8
        }
186
5
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
197
    bool output_nulls() const { return column.get() == nullptr; }
199
200
    std::string debug_string() const {
201
        std::stringstream ss;
202
        ss << "ColumnAndSelector(selector_size=" << selector.size()
203
           << ", output_nulls=" << output_nulls()
204
           << ", column size=" << (column ? std::to_string(column->size()) : "null") << ")";
205
206
        ss << "\n selector data: [";
207
        for (size_t i = 0; i < selector.size(); ++i) {
208
            if (i != 0) {
209
                ss << ", ";
210
            }
211
            ss << selector[i];
212
        }
213
        ss << "]";
214
        return ss.str();
215
    }
216
};
217
218
// Scalar version of fill.
219
// Initializes the result column at the beginning.
220
// Subsequently fills data from each column into the result column using selectors.
221
template <PrimitiveType PType>
222
struct ScalarFillWithSelector {
223
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
224
    using ArrayType = typename ColumnType::Container;
225
226
public:
227
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
228
                          const Selector& true_selector, const ColumnPtr& false_column,
229
2.28k
                          const Selector& false_selector, size_t count) {
230
2.28k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2.28k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2.28k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2.28k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2.28k
        auto result_column = result_type->create_column();
236
237
2.28k
        MutableColumnNullViewScalar<PType> result_column_view =
238
2.28k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2.28k
        init_result_column(result_column_view, count);
240
241
2.28k
        ColumnNullConstViewScalar<PType> true_column_view =
242
2.28k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2.28k
        ColumnNullConstViewScalar<PType> false_column_view =
244
2.28k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2.28k
        result_column_view.insert_from(true_column_view, true_selector);
247
2.28k
        result_column_view.insert_from(false_column_view, false_selector);
248
2.28k
        DCHECK_EQ(result_column->size(), count);
249
2.28k
        return result_column;
250
2.28k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
115
                          const Selector& false_selector, size_t count) {
230
115
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
115
        DCHECK_EQ(true_column->size(), true_selector.size());
232
115
        DCHECK_EQ(false_column->size(), false_selector.size());
233
115
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
115
        auto result_column = result_type->create_column();
236
237
115
        MutableColumnNullViewScalar<PType> result_column_view =
238
115
                MutableColumnNullViewScalar<PType>::create(result_column);
239
115
        init_result_column(result_column_view, count);
240
241
115
        ColumnNullConstViewScalar<PType> true_column_view =
242
115
                ColumnNullConstViewScalar<PType>::create(true_column);
243
115
        ColumnNullConstViewScalar<PType> false_column_view =
244
115
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
115
        result_column_view.insert_from(true_column_view, true_selector);
247
115
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
115
        return result_column;
250
115
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1.47k
                          const Selector& false_selector, size_t count) {
230
1.47k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1.47k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1.47k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1.47k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1.47k
        auto result_column = result_type->create_column();
236
237
1.47k
        MutableColumnNullViewScalar<PType> result_column_view =
238
1.47k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1.47k
        init_result_column(result_column_view, count);
240
241
1.47k
        ColumnNullConstViewScalar<PType> true_column_view =
242
1.47k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1.47k
        ColumnNullConstViewScalar<PType> false_column_view =
244
1.47k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1.47k
        result_column_view.insert_from(true_column_view, true_selector);
247
1.47k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1.47k
        return result_column;
250
1.47k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1
                          const Selector& false_selector, size_t count) {
230
1
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1
        auto result_column = result_type->create_column();
236
237
1
        MutableColumnNullViewScalar<PType> result_column_view =
238
1
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1
        init_result_column(result_column_view, count);
240
241
1
        ColumnNullConstViewScalar<PType> true_column_view =
242
1
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1
        ColumnNullConstViewScalar<PType> false_column_view =
244
1
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1
        result_column_view.insert_from(true_column_view, true_selector);
247
1
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1
        return result_column;
250
1
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
480
                          const Selector& false_selector, size_t count) {
230
480
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
480
        DCHECK_EQ(true_column->size(), true_selector.size());
232
480
        DCHECK_EQ(false_column->size(), false_selector.size());
233
480
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
480
        auto result_column = result_type->create_column();
236
237
480
        MutableColumnNullViewScalar<PType> result_column_view =
238
480
                MutableColumnNullViewScalar<PType>::create(result_column);
239
480
        init_result_column(result_column_view, count);
240
241
480
        ColumnNullConstViewScalar<PType> true_column_view =
242
480
                ColumnNullConstViewScalar<PType>::create(true_column);
243
480
        ColumnNullConstViewScalar<PType> false_column_view =
244
480
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
480
        result_column_view.insert_from(true_column_view, true_selector);
247
480
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
480
        return result_column;
250
480
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
73
                          const Selector& false_selector, size_t count) {
230
73
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
73
        DCHECK_EQ(true_column->size(), true_selector.size());
232
73
        DCHECK_EQ(false_column->size(), false_selector.size());
233
73
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
73
        auto result_column = result_type->create_column();
236
237
73
        MutableColumnNullViewScalar<PType> result_column_view =
238
73
                MutableColumnNullViewScalar<PType>::create(result_column);
239
73
        init_result_column(result_column_view, count);
240
241
73
        ColumnNullConstViewScalar<PType> true_column_view =
242
73
                ColumnNullConstViewScalar<PType>::create(true_column);
243
73
        ColumnNullConstViewScalar<PType> false_column_view =
244
73
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
73
        result_column_view.insert_from(true_column_view, true_selector);
247
73
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
73
        return result_column;
250
73
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
47
                          const Selector& false_selector, size_t count) {
230
47
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
47
        DCHECK_EQ(true_column->size(), true_selector.size());
232
47
        DCHECK_EQ(false_column->size(), false_selector.size());
233
47
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
47
        auto result_column = result_type->create_column();
236
237
47
        MutableColumnNullViewScalar<PType> result_column_view =
238
47
                MutableColumnNullViewScalar<PType>::create(result_column);
239
47
        init_result_column(result_column_view, count);
240
241
47
        ColumnNullConstViewScalar<PType> true_column_view =
242
47
                ColumnNullConstViewScalar<PType>::create(true_column);
243
47
        ColumnNullConstViewScalar<PType> false_column_view =
244
47
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
47
        result_column_view.insert_from(true_column_view, true_selector);
247
47
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
47
        return result_column;
250
47
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
11
                          const Selector& false_selector, size_t count) {
230
11
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
11
        DCHECK_EQ(true_column->size(), true_selector.size());
232
11
        DCHECK_EQ(false_column->size(), false_selector.size());
233
11
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
11
        auto result_column = result_type->create_column();
236
237
11
        MutableColumnNullViewScalar<PType> result_column_view =
238
11
                MutableColumnNullViewScalar<PType>::create(result_column);
239
11
        init_result_column(result_column_view, count);
240
241
11
        ColumnNullConstViewScalar<PType> true_column_view =
242
11
                ColumnNullConstViewScalar<PType>::create(true_column);
243
11
        ColumnNullConstViewScalar<PType> false_column_view =
244
11
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
11
        result_column_view.insert_from(true_column_view, true_selector);
247
11
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
11
        return result_column;
250
11
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
7
                          const Selector& false_selector, size_t count) {
230
7
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
7
        DCHECK_EQ(true_column->size(), true_selector.size());
232
7
        DCHECK_EQ(false_column->size(), false_selector.size());
233
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
7
        auto result_column = result_type->create_column();
236
237
7
        MutableColumnNullViewScalar<PType> result_column_view =
238
7
                MutableColumnNullViewScalar<PType>::create(result_column);
239
7
        init_result_column(result_column_view, count);
240
241
7
        ColumnNullConstViewScalar<PType> true_column_view =
242
7
                ColumnNullConstViewScalar<PType>::create(true_column);
243
7
        ColumnNullConstViewScalar<PType> false_column_view =
244
7
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
7
        result_column_view.insert_from(true_column_view, true_selector);
247
7
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
7
        return result_column;
250
7
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
53
                          const Selector& false_selector, size_t count) {
230
53
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
53
        DCHECK_EQ(true_column->size(), true_selector.size());
232
53
        DCHECK_EQ(false_column->size(), false_selector.size());
233
53
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
53
        auto result_column = result_type->create_column();
236
237
53
        MutableColumnNullViewScalar<PType> result_column_view =
238
53
                MutableColumnNullViewScalar<PType>::create(result_column);
239
53
        init_result_column(result_column_view, count);
240
241
53
        ColumnNullConstViewScalar<PType> true_column_view =
242
53
                ColumnNullConstViewScalar<PType>::create(true_column);
243
53
        ColumnNullConstViewScalar<PType> false_column_view =
244
53
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
53
        result_column_view.insert_from(true_column_view, true_selector);
247
53
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
53
        return result_column;
250
53
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2
                          const Selector& false_selector, size_t count) {
230
2
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2
        auto result_column = result_type->create_column();
236
237
2
        MutableColumnNullViewScalar<PType> result_column_view =
238
2
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2
        init_result_column(result_column_view, count);
240
241
2
        ColumnNullConstViewScalar<PType> true_column_view =
242
2
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2
        ColumnNullConstViewScalar<PType> false_column_view =
244
2
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2
        result_column_view.insert_from(true_column_view, true_selector);
247
2
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2
        return result_column;
250
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
16
                          const Selector& false_selector, size_t count) {
230
16
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
16
        DCHECK_EQ(true_column->size(), true_selector.size());
232
16
        DCHECK_EQ(false_column->size(), false_selector.size());
233
16
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
16
        auto result_column = result_type->create_column();
236
237
16
        MutableColumnNullViewScalar<PType> result_column_view =
238
16
                MutableColumnNullViewScalar<PType>::create(result_column);
239
16
        init_result_column(result_column_view, count);
240
241
16
        ColumnNullConstViewScalar<PType> true_column_view =
242
16
                ColumnNullConstViewScalar<PType>::create(true_column);
243
16
        ColumnNullConstViewScalar<PType> false_column_view =
244
16
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
16
        result_column_view.insert_from(true_column_view, true_selector);
247
16
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
16
        return result_column;
250
16
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
5
                          const Selector& false_selector, size_t count) {
230
5
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
5
        DCHECK_EQ(true_column->size(), true_selector.size());
232
5
        DCHECK_EQ(false_column->size(), false_selector.size());
233
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
5
        auto result_column = result_type->create_column();
236
237
5
        MutableColumnNullViewScalar<PType> result_column_view =
238
5
                MutableColumnNullViewScalar<PType>::create(result_column);
239
5
        init_result_column(result_column_view, count);
240
241
5
        ColumnNullConstViewScalar<PType> true_column_view =
242
5
                ColumnNullConstViewScalar<PType>::create(true_column);
243
5
        ColumnNullConstViewScalar<PType> false_column_view =
244
5
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
5
        result_column_view.insert_from(true_column_view, true_selector);
247
5
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
5
        return result_column;
250
5
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
6
                          const Selector& false_selector, size_t count) {
230
6
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6
        auto result_column = result_type->create_column();
236
237
6
        MutableColumnNullViewScalar<PType> result_column_view =
238
6
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6
        init_result_column(result_column_view, count);
240
241
6
        ColumnNullConstViewScalar<PType> true_column_view =
242
6
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6
        ColumnNullConstViewScalar<PType> false_column_view =
244
6
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6
        result_column_view.insert_from(true_column_view, true_selector);
247
6
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
6
        return result_column;
250
6
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
104
                          size_t count) {
255
104
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
104
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
104
                                             return sum + cs.selector.size();
258
104
                                         }));
259
104
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
104
        auto result_column = result_type->create_column();
261
262
104
        MutableColumnNullViewScalar<PType> result_column_view =
263
104
                MutableColumnNullViewScalar<PType>::create(result_column);
264
104
        init_result_column(result_column_view, count);
265
266
192
        for (const auto& columns_and_selector : columns_and_selectors) {
267
192
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
188
            } else {
270
188
                ColumnNullConstViewScalar<PType> from_column_view =
271
188
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
188
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
188
            }
274
192
        }
275
104
        DCHECK_EQ(result_column->size(), count);
276
104
        return result_column;
277
104
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
31
                          size_t count) {
255
31
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
31
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
31
                                             return sum + cs.selector.size();
258
31
                                         }));
259
31
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
31
        auto result_column = result_type->create_column();
261
262
31
        MutableColumnNullViewScalar<PType> result_column_view =
263
31
                MutableColumnNullViewScalar<PType>::create(result_column);
264
31
        init_result_column(result_column_view, count);
265
266
71
        for (const auto& columns_and_selector : columns_and_selectors) {
267
71
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
71
            } else {
270
71
                ColumnNullConstViewScalar<PType> from_column_view =
271
71
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
71
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
71
            }
274
71
        }
275
        DCHECK_EQ(result_column->size(), count);
276
31
        return result_column;
277
31
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
31
                          size_t count) {
255
31
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
31
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
31
                                             return sum + cs.selector.size();
258
31
                                         }));
259
31
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
31
        auto result_column = result_type->create_column();
261
262
31
        MutableColumnNullViewScalar<PType> result_column_view =
263
31
                MutableColumnNullViewScalar<PType>::create(result_column);
264
31
        init_result_column(result_column_view, count);
265
266
62
        for (const auto& columns_and_selector : columns_and_selectors) {
267
62
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
58
            } else {
270
58
                ColumnNullConstViewScalar<PType> from_column_view =
271
58
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
58
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
58
            }
274
62
        }
275
        DCHECK_EQ(result_column->size(), count);
276
31
        return result_column;
277
31
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
17
                          size_t count) {
255
17
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
17
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
17
                                             return sum + cs.selector.size();
258
17
                                         }));
259
17
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
17
        auto result_column = result_type->create_column();
261
262
17
        MutableColumnNullViewScalar<PType> result_column_view =
263
17
                MutableColumnNullViewScalar<PType>::create(result_column);
264
17
        init_result_column(result_column_view, count);
265
266
24
        for (const auto& columns_and_selector : columns_and_selectors) {
267
24
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
24
            } else {
270
24
                ColumnNullConstViewScalar<PType> from_column_view =
271
24
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
24
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
24
            }
274
24
        }
275
        DCHECK_EQ(result_column->size(), count);
276
17
        return result_column;
277
17
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
5
                          size_t count) {
255
5
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
5
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
5
                                             return sum + cs.selector.size();
258
5
                                         }));
259
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
5
        auto result_column = result_type->create_column();
261
262
5
        MutableColumnNullViewScalar<PType> result_column_view =
263
5
                MutableColumnNullViewScalar<PType>::create(result_column);
264
5
        init_result_column(result_column_view, count);
265
266
8
        for (const auto& columns_and_selector : columns_and_selectors) {
267
8
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
8
            } else {
270
8
                ColumnNullConstViewScalar<PType> from_column_view =
271
8
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
8
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
8
            }
274
8
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
6
                          size_t count) {
255
6
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
6
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
6
                                             return sum + cs.selector.size();
258
6
                                         }));
259
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
6
        auto result_column = result_type->create_column();
261
262
6
        MutableColumnNullViewScalar<PType> result_column_view =
263
6
                MutableColumnNullViewScalar<PType>::create(result_column);
264
6
        init_result_column(result_column_view, count);
265
266
6
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
6
        }
275
        DCHECK_EQ(result_column->size(), count);
276
6
        return result_column;
277
6
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
4
                          size_t count) {
255
4
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
4
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
4
                                             return sum + cs.selector.size();
258
4
                                         }));
259
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
4
        auto result_column = result_type->create_column();
261
262
4
        MutableColumnNullViewScalar<PType> result_column_view =
263
4
                MutableColumnNullViewScalar<PType>::create(result_column);
264
4
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
7
            } else {
270
7
                ColumnNullConstViewScalar<PType> from_column_view =
271
7
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
7
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
7
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
4
                          size_t count) {
255
4
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
4
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
4
                                             return sum + cs.selector.size();
258
4
                                         }));
259
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
4
        auto result_column = result_type->create_column();
261
262
4
        MutableColumnNullViewScalar<PType> result_column_view =
263
4
                MutableColumnNullViewScalar<PType>::create(result_column);
264
4
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
278
279
private:
280
    // if result_column is nullable,nullmap will all init to false
281
    static void init_result_column(MutableColumnNullViewScalar<PType>& result_column_view,
282
2.39k
                                   size_t count) {
283
2.39k
        result_column_view.data.resize(count);
284
2.39k
        if (result_column_view.null_map != nullptr) {
285
601
            result_column_view.null_map->resize_fill(count, 0);
286
601
        }
287
2.39k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
115
                                   size_t count) {
283
115
        result_column_view.data.resize(count);
284
115
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
115
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
1.50k
                                   size_t count) {
283
1.50k
        result_column_view.data.resize(count);
284
1.50k
        if (result_column_view.null_map != nullptr) {
285
27
            result_column_view.null_map->resize_fill(count, 0);
286
27
        }
287
1.50k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
Line
Count
Source
282
1
                                   size_t count) {
283
1
        result_column_view.data.resize(count);
284
1
        if (result_column_view.null_map != nullptr) {
285
1
            result_column_view.null_map->resize_fill(count, 0);
286
1
        }
287
1
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
511
                                   size_t count) {
283
511
        result_column_view.data.resize(count);
284
511
        if (result_column_view.null_map != nullptr) {
285
416
            result_column_view.null_map->resize_fill(count, 0);
286
416
        }
287
511
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
90
                                   size_t count) {
283
90
        result_column_view.data.resize(count);
284
90
        if (result_column_view.null_map != nullptr) {
285
42
            result_column_view.null_map->resize_fill(count, 0);
286
42
        }
287
90
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
52
                                   size_t count) {
283
52
        result_column_view.data.resize(count);
284
52
        if (result_column_view.null_map != nullptr) {
285
36
            result_column_view.null_map->resize_fill(count, 0);
286
36
        }
287
52
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
11
                                   size_t count) {
283
11
        result_column_view.data.resize(count);
284
11
        if (result_column_view.null_map != nullptr) {
285
11
            result_column_view.null_map->resize_fill(count, 0);
286
11
        }
287
11
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
13
                                   size_t count) {
283
13
        result_column_view.data.resize(count);
284
13
        if (result_column_view.null_map != nullptr) {
285
3
            result_column_view.null_map->resize_fill(count, 0);
286
3
        }
287
13
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
55
                                   size_t count) {
283
55
        result_column_view.data.resize(count);
284
55
        if (result_column_view.null_map != nullptr) {
285
30
            result_column_view.null_map->resize_fill(count, 0);
286
30
        }
287
55
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_35EEEm
Line
Count
Source
282
6
                                   size_t count) {
283
6
        result_column_view.data.resize(count);
284
6
        if (result_column_view.null_map != nullptr) {
285
6
            result_column_view.null_map->resize_fill(count, 0);
286
6
        }
287
6
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_11EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_25EEEm
Line
Count
Source
282
18
                                   size_t count) {
283
18
        result_column_view.data.resize(count);
284
18
        if (result_column_view.null_map != nullptr) {
285
13
            result_column_view.null_map->resize_fill(count, 0);
286
13
        }
287
18
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
7
                                   size_t count) {
283
7
        result_column_view.data.resize(count);
284
7
        if (result_column_view.null_map != nullptr) {
285
6
            result_column_view.null_map->resize_fill(count, 0);
286
6
        }
287
7
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
469
                          const Selector& false_selector, size_t count) {
296
469
        DCHECK_EQ(false_selector.size() + true_selector.size(), count)
297
0
                << "Mismatched selector sizes."
298
0
                << " false selector size: " << false_selector.size()
299
0
                << ", true selector size: " << true_selector.size() << ", count: " << count;
300
469
        DCHECK_EQ(true_column->size(), true_selector.size());
301
469
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
469
        auto result_column = result_type->create_column();
304
305
469
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
469
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
469
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
469
        size_t true_index = 0;
310
469
        size_t false_index = 0;
311
1.67k
        for (size_t i = 0; i < count; ++i) {
312
1.20k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
216
                result_column_view.insert_from(true_column_view, true_index++);
314
992
            } else {
315
992
                result_column_view.insert_from(false_column_view, false_index++);
316
992
            }
317
1.20k
        }
318
319
469
        DCHECK_EQ(result_column->size(), count);
320
469
        return result_column;
321
469
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
263
                          size_t count) {
326
263
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
263
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
263
                                             return sum + cs.selector.size();
329
263
                                         }));
330
263
        struct FillColumnWithPos {
331
263
            std::optional<ColumnNullConstView> source_column;
332
263
            size_t pos_in_source; // position in the column
333
334
1.31k
            void insert_to_column(MutableColumnNullView& result_column) const {
335
1.31k
                if (!source_column) {
336
14
                    result_column.insert_null();
337
1.29k
                } else {
338
1.29k
                    result_column.insert_from(*source_column, pos_in_source);
339
1.29k
                }
340
1.31k
            }
341
263
        };
342
343
263
        auto mutable_result_column = result_type->create_column();
344
263
        mutable_result_column->reserve(count);
345
346
263
        MutableColumnNullView mutable_result_column_view =
347
263
                MutableColumnNullView::create(mutable_result_column);
348
349
263
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
962
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
962
            if (column_with_selector.selector.empty()) {
353
628
                continue;
354
628
            }
355
1.64k
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
1.31k
                size_t result_index = column_with_selector.selector[i];
357
1.31k
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
1.31k
                if (column_with_selector.column) {
360
1.29k
                    ColumnNullConstView column_view =
361
1.29k
                            ColumnNullConstView::create(column_with_selector.column);
362
1.29k
                    fill_positions[result_index].source_column.emplace(column_view);
363
1.29k
                    fill_positions[result_index].pos_in_source = i;
364
1.29k
                } else {
365
14
                    fill_positions[result_index].source_column = std::nullopt;
366
14
                }
367
1.31k
            }
368
334
        }
369
370
1.31k
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
1.31k
            fill_pos.insert_to_column(mutable_result_column_view);
372
1.31k
        }
373
374
263
        DCHECK_EQ(mutable_result_column->size(), count);
375
263
        return mutable_result_column;
376
263
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
3.86k
            : _selector(selector), _count(count) {}
382
383
    // Iterate over the condition column and generate true_selector and false_selector
384
    // based on null_map and data.
385
386
    template <bool is_const, typename Func>
387
3.85k
    void for_each_with_selector(Func& f) const {
388
3.85k
        if (_selector != nullptr) {
389
835
            const auto& selector_data = *_selector;
390
2.50k
            for (size_t i = 0; i < _count; ++i) {
391
1.66k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.66k
            }
393
3.01k
        } else {
394
89.2k
            for (size_t i = 0; i < _count; ++i) {
395
86.1k
                f(index_check_const<is_const>(i), i, i);
396
86.1k
            }
397
3.01k
        }
398
3.85k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
26
    void for_each_with_selector(Func& f) const {
388
26
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
26
        } else {
394
55
            for (size_t i = 0; i < _count; ++i) {
395
29
                f(index_check_const<is_const>(i), i, i);
396
29
            }
397
26
        }
398
26
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
418
    void for_each_with_selector(Func& f) const {
388
418
        if (_selector != nullptr) {
389
20
            const auto& selector_data = *_selector;
390
66
            for (size_t i = 0; i < _count; ++i) {
391
46
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
46
            }
393
398
        } else {
394
15.6k
            for (size_t i = 0; i < _count; ++i) {
395
15.2k
                f(index_check_const<is_const>(i), i, i);
396
15.2k
            }
397
398
        }
398
418
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
606
    void for_each_with_selector(Func& f) const {
388
606
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
606
        } else {
394
5.98k
            for (size_t i = 0; i < _count; ++i) {
395
5.38k
                f(index_check_const<is_const>(i), i, i);
396
5.38k
            }
397
606
        }
398
606
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
1.44k
    void for_each_with_selector(Func& f) const {
388
1.44k
        if (_selector != nullptr) {
389
54
            const auto& selector_data = *_selector;
390
173
            for (size_t i = 0; i < _count; ++i) {
391
119
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
119
            }
393
1.38k
        } else {
394
64.5k
            for (size_t i = 0; i < _count; ++i) {
395
63.1k
                f(index_check_const<is_const>(i), i, i);
396
63.1k
            }
397
1.38k
        }
398
1.44k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
8
    void for_each_with_selector(Func& f) const {
388
8
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
8
        } else {
394
22
            for (size_t i = 0; i < _count; ++i) {
395
14
                f(index_check_const<is_const>(i), i, i);
396
14
            }
397
8
        }
398
8
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
87
    void for_each_with_selector(Func& f) const {
388
87
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
87
        } else {
394
324
            for (size_t i = 0; i < _count; ++i) {
395
237
                f(index_check_const<is_const>(i), i, i);
396
237
            }
397
87
        }
398
87
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
114
    void for_each_with_selector(Func& f) const {
388
114
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
114
        } else {
394
1.07k
            for (size_t i = 0; i < _count; ++i) {
395
963
                f(index_check_const<is_const>(i), i, i);
396
963
            }
397
114
        }
398
114
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
10
    void for_each_with_selector(Func& f) const {
388
10
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
10
        } else {
394
35
            for (size_t i = 0; i < _count; ++i) {
395
25
                f(index_check_const<is_const>(i), i, i);
396
25
            }
397
10
        }
398
10
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
14
    void for_each_with_selector(Func& f) const {
388
14
        if (_selector != nullptr) {
389
14
            const auto& selector_data = *_selector;
390
34
            for (size_t i = 0; i < _count; ++i) {
391
20
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
20
            }
393
14
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
14
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
130
    void for_each_with_selector(Func& f) const {
388
130
        if (_selector != nullptr) {
389
130
            const auto& selector_data = *_selector;
390
430
            for (size_t i = 0; i < _count; ++i) {
391
300
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
300
            }
393
130
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
130
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
524
    void for_each_with_selector(Func& f) const {
388
524
        if (_selector != nullptr) {
389
524
            const auto& selector_data = *_selector;
390
1.57k
            for (size_t i = 0; i < _count; ++i) {
391
1.04k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.04k
            }
393
524
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
524
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
10
    void for_each_with_selector(Func& f) const {
388
10
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
8
        } else {
394
16
            for (size_t i = 0; i < _count; ++i) {
395
8
                f(index_check_const<is_const>(i), i, i);
396
8
            }
397
8
        }
398
10
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
249
    void for_each_with_selector(Func& f) const {
388
249
        if (_selector != nullptr) {
389
13
            const auto& selector_data = *_selector;
390
33
            for (size_t i = 0; i < _count; ++i) {
391
20
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
20
            }
393
236
        } else {
394
1.10k
            for (size_t i = 0; i < _count; ++i) {
395
870
                f(index_check_const<is_const>(i), i, i);
396
870
            }
397
236
        }
398
249
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
7
    void for_each_with_selector(Func& f) const {
388
7
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
7
        } else {
394
14
            for (size_t i = 0; i < _count; ++i) {
395
7
                f(index_check_const<is_const>(i), i, i);
396
7
            }
397
7
        }
398
7
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
134
    void for_each_with_selector(Func& f) const {
388
134
        if (_selector != nullptr) {
389
6
            const auto& selector_data = *_selector;
390
12
            for (size_t i = 0; i < _count; ++i) {
391
6
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
6
            }
393
128
        } else {
394
407
            for (size_t i = 0; i < _count; ++i) {
395
279
                f(index_check_const<is_const>(i), i, i);
396
279
            }
397
128
        }
398
134
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
6
    void for_each_with_selector(Func& f) const {
388
6
        if (_selector != nullptr) {
389
6
            const auto& selector_data = *_selector;
390
14
            for (size_t i = 0; i < _count; ++i) {
391
8
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
8
            }
393
6
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
6
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
25
    void for_each_with_selector(Func& f) const {
388
25
        if (_selector != nullptr) {
389
25
            const auto& selector_data = *_selector;
390
61
            for (size_t i = 0; i < _count; ++i) {
391
36
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
36
            }
393
25
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
25
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
35
    void for_each_with_selector(Func& f) const {
388
35
        if (_selector != nullptr) {
389
35
            const auto& selector_data = *_selector;
390
90
            for (size_t i = 0; i < _count; ++i) {
391
55
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
55
            }
393
35
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
35
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
6
    void for_each_with_selector(Func& f) const {
388
6
        if (_selector != nullptr) {
389
6
            const auto& selector_data = *_selector;
390
12
            for (size_t i = 0; i < _count; ++i) {
391
6
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
6
            }
393
6
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
6
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
3.38k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
3.38k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
3.38k
                                      size_t count) {
415
3.38k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
3.38k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
3.38k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
3.38k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.38k
        if (this->null_map != nullptr) {
422
683
            const auto& null_map_data = *(this->null_map);
423
15.8k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
15.8k
                if (null_map_data[i]) {
425
149
                    null_func(self_index, executor_index);
426
15.7k
                } else {
427
15.7k
                    if (this->data[i]) {
428
4.84k
                        true_func(self_index, executor_index);
429
10.8k
                    } else {
430
10.8k
                        false_func(self_index, executor_index);
431
10.8k
                    }
432
15.7k
                }
433
15.8k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
15.3k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
15.3k
                if (null_map_data[i]) {
425
97
                    null_func(self_index, executor_index);
426
15.2k
                } else {
427
15.2k
                    if (this->data[i]) {
428
4.65k
                        true_func(self_index, executor_index);
429
10.5k
                    } else {
430
10.5k
                        false_func(self_index, executor_index);
431
10.5k
                    }
432
15.2k
                }
433
15.3k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
251
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
251
                if (null_map_data[i]) {
425
21
                    null_func(self_index, executor_index);
426
230
                } else {
427
230
                    if (this->data[i]) {
428
42
                        true_func(self_index, executor_index);
429
188
                    } else {
430
188
                        false_func(self_index, executor_index);
431
188
                    }
432
230
                }
433
251
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
320
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
320
                if (null_map_data[i]) {
425
31
                    null_func(self_index, executor_index);
426
289
                } else {
427
289
                    if (this->data[i]) {
428
148
                        true_func(self_index, executor_index);
429
148
                    } else {
430
141
                        false_func(self_index, executor_index);
431
141
                    }
432
289
                }
433
320
            };
434
683
            if (is_const) {
435
48
                for_each_with_selector<true>(update);
436
635
            } else {
437
635
                for_each_with_selector<false>(update);
438
635
            }
439
2.69k
        } else {
440
            // non-nullable condition column
441
70.6k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
70.6k
                if (this->data[i]) {
443
7.37k
                    true_func(self_index, executor_index);
444
63.3k
                } else {
445
63.3k
                    false_func(self_index, executor_index);
446
63.3k
                }
447
70.6k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
68.6k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
68.6k
                if (this->data[i]) {
443
6.39k
                    true_func(self_index, executor_index);
444
62.2k
                } else {
445
62.2k
                    false_func(self_index, executor_index);
446
62.2k
                }
447
68.6k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
988
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
988
                if (this->data[i]) {
443
966
                    true_func(self_index, executor_index);
444
966
                } else {
445
22
                    false_func(self_index, executor_index);
446
22
                }
447
988
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
1.04k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.04k
                if (this->data[i]) {
443
10
                    true_func(self_index, executor_index);
444
1.03k
                } else {
445
1.03k
                    false_func(self_index, executor_index);
446
1.03k
                }
447
1.04k
            };
448
2.69k
            if (is_const) {
449
720
                for_each_with_selector<true>(update);
450
1.97k
            } else {
451
1.97k
                for_each_with_selector<false>(update);
452
1.97k
            }
453
2.69k
        }
454
3.38k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_
Line
Count
Source
420
2.49k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
2.49k
        if (this->null_map != nullptr) {
422
444
            const auto& null_map_data = *(this->null_map);
423
444
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
444
                if (null_map_data[i]) {
425
444
                    null_func(self_index, executor_index);
426
444
                } else {
427
444
                    if (this->data[i]) {
428
444
                        true_func(self_index, executor_index);
429
444
                    } else {
430
444
                        false_func(self_index, executor_index);
431
444
                    }
432
444
                }
433
444
            };
434
444
            if (is_const) {
435
26
                for_each_with_selector<true>(update);
436
418
            } else {
437
418
                for_each_with_selector<false>(update);
438
418
            }
439
2.04k
        } else {
440
            // non-nullable condition column
441
2.04k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
2.04k
                if (this->data[i]) {
443
2.04k
                    true_func(self_index, executor_index);
444
2.04k
                } else {
445
2.04k
                    false_func(self_index, executor_index);
446
2.04k
                }
447
2.04k
            };
448
2.04k
            if (is_const) {
449
606
                for_each_with_selector<true>(update);
450
1.44k
            } else {
451
1.44k
                for_each_with_selector<false>(update);
452
1.44k
            }
453
2.04k
        }
454
2.49k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_
Line
Count
Source
420
219
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
219
        if (this->null_map != nullptr) {
422
95
            const auto& null_map_data = *(this->null_map);
423
95
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
95
                if (null_map_data[i]) {
425
95
                    null_func(self_index, executor_index);
426
95
                } else {
427
95
                    if (this->data[i]) {
428
95
                        true_func(self_index, executor_index);
429
95
                    } else {
430
95
                        false_func(self_index, executor_index);
431
95
                    }
432
95
                }
433
95
            };
434
95
            if (is_const) {
435
8
                for_each_with_selector<true>(update);
436
87
            } else {
437
87
                for_each_with_selector<false>(update);
438
87
            }
439
124
        } else {
440
            // non-nullable condition column
441
124
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
124
                if (this->data[i]) {
443
124
                    true_func(self_index, executor_index);
444
124
                } else {
445
124
                    false_func(self_index, executor_index);
446
124
                }
447
124
            };
448
124
            if (is_const) {
449
114
                for_each_with_selector<true>(update);
450
114
            } else {
451
10
                for_each_with_selector<false>(update);
452
10
            }
453
124
        }
454
219
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_
Line
Count
Source
420
668
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
668
        if (this->null_map != nullptr) {
422
144
            const auto& null_map_data = *(this->null_map);
423
144
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
144
                if (null_map_data[i]) {
425
144
                    null_func(self_index, executor_index);
426
144
                } else {
427
144
                    if (this->data[i]) {
428
144
                        true_func(self_index, executor_index);
429
144
                    } else {
430
144
                        false_func(self_index, executor_index);
431
144
                    }
432
144
                }
433
144
            };
434
144
            if (is_const) {
435
14
                for_each_with_selector<true>(update);
436
130
            } else {
437
130
                for_each_with_selector<false>(update);
438
130
            }
439
524
        } else {
440
            // non-nullable condition column
441
524
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
524
                if (this->data[i]) {
443
524
                    true_func(self_index, executor_index);
444
524
                } else {
445
524
                    false_func(self_index, executor_index);
446
524
                }
447
524
            };
448
524
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
524
            } else {
451
524
                for_each_with_selector<false>(update);
452
524
            }
453
524
        }
454
668
    }
455
};
456
457
// Utility class for columns that return nullable values.
458
// We only care about whether the value is null, not the actual value.
459
struct ConditionColumnNullView : ColumnNullConstView, ConditionColumnViewHelper {
460
    ConditionColumnNullView(ColumnNullConstView base, const Selector* selector, size_t count)
461
478
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
478
                                          size_t count) {
465
478
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
478
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
478
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
472
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
472
        if (this->null_map != nullptr) {
472
431
            const auto& null_map_data = *(this->null_map);
473
1.23k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.23k
                if (null_map_data[i]) {
475
223
                    null_func(self_index, executor_index);
476
1.01k
                } else {
477
1.01k
                    not_null_func(self_index, executor_index);
478
1.01k
                }
479
1.23k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE_clEmmm
Line
Count
Source
473
900
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
900
                if (null_map_data[i]) {
475
116
                    null_func(self_index, executor_index);
476
784
                } else {
477
784
                    not_null_func(self_index, executor_index);
478
784
                }
479
900
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE_clEmmm
Line
Count
Source
473
291
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
291
                if (null_map_data[i]) {
475
91
                    null_func(self_index, executor_index);
476
200
                } else {
477
200
                    not_null_func(self_index, executor_index);
478
200
                }
479
291
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE_clEmmm
Line
Count
Source
473
44
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
44
                if (null_map_data[i]) {
475
16
                    null_func(self_index, executor_index);
476
28
                } else {
477
28
                    not_null_func(self_index, executor_index);
478
28
                }
479
44
            };
480
431
            if (is_const) {
481
23
                for_each_with_selector<true>(update);
482
408
            } else {
483
408
                for_each_with_selector<false>(update);
484
408
            }
485
431
        } else {
486
            // non-nullable condition column
487
61
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
61
                not_null_func(self_index, executor_index);
489
61
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
61
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
61
                not_null_func(self_index, executor_index);
489
61
            };
490
41
            if (is_const) {
491
35
                for_each_with_selector<true>(update);
492
35
            } else {
493
6
                for_each_with_selector<false>(update);
494
6
            }
495
41
        }
496
472
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_
Line
Count
Source
470
259
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
259
        if (this->null_map != nullptr) {
472
259
            const auto& null_map_data = *(this->null_map);
473
259
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
259
                if (null_map_data[i]) {
475
259
                    null_func(self_index, executor_index);
476
259
                } else {
477
259
                    not_null_func(self_index, executor_index);
478
259
                }
479
259
            };
480
259
            if (is_const) {
481
10
                for_each_with_selector<true>(update);
482
249
            } else {
483
249
                for_each_with_selector<false>(update);
484
249
            }
485
259
        } else {
486
            // non-nullable condition column
487
0
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
0
                not_null_func(self_index, executor_index);
489
0
            };
490
0
            if (is_const) {
491
0
                for_each_with_selector<true>(update);
492
0
            } else {
493
0
                for_each_with_selector<false>(update);
494
0
            }
495
0
        }
496
259
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_
Line
Count
Source
470
141
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
141
        if (this->null_map != nullptr) {
472
141
            const auto& null_map_data = *(this->null_map);
473
141
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
141
                if (null_map_data[i]) {
475
141
                    null_func(self_index, executor_index);
476
141
                } else {
477
141
                    not_null_func(self_index, executor_index);
478
141
                }
479
141
            };
480
141
            if (is_const) {
481
7
                for_each_with_selector<true>(update);
482
134
            } else {
483
134
                for_each_with_selector<false>(update);
484
134
            }
485
141
        } else {
486
            // non-nullable condition column
487
0
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
0
                not_null_func(self_index, executor_index);
489
0
            };
490
0
            if (is_const) {
491
0
                for_each_with_selector<true>(update);
492
0
            } else {
493
0
                for_each_with_selector<false>(update);
494
0
            }
495
0
        }
496
141
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_
Line
Count
Source
470
72
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
72
        if (this->null_map != nullptr) {
472
31
            const auto& null_map_data = *(this->null_map);
473
31
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
31
                if (null_map_data[i]) {
475
31
                    null_func(self_index, executor_index);
476
31
                } else {
477
31
                    not_null_func(self_index, executor_index);
478
31
                }
479
31
            };
480
31
            if (is_const) {
481
6
                for_each_with_selector<true>(update);
482
25
            } else {
483
25
                for_each_with_selector<false>(update);
484
25
            }
485
41
        } else {
486
            // non-nullable condition column
487
41
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
41
                not_null_func(self_index, executor_index);
489
41
            };
490
41
            if (is_const) {
491
35
                for_each_with_selector<true>(update);
492
35
            } else {
493
6
                for_each_with_selector<false>(update);
494
6
            }
495
41
        }
496
72
    }
497
};
498
499
} // namespace doris