Coverage Report

Created: 2026-07-28 15:55

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
3.36k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
3.36k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
3.36k
        if (const auto* nullable_column =
40
3.36k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.33k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.33k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.33k
                                        .is_const = is_const};
44
2.03k
        } else {
45
2.03k
            return ColumnNullConstView {
46
2.03k
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
2.03k
        }
48
3.36k
    }
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
12.0k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
12.0k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
12.0k
        const NullMap* null_map = nullptr;
64
12.0k
        const ArrayType* data = nullptr;
65
12.0k
        if (const auto* nullable_column =
66
12.0k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
3.46k
            null_map = &nullable_column->get_null_map_data();
68
3.46k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
3.46k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
8.56k
        } else {
71
8.56k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
8.56k
        }
73
74
12.0k
        return ColumnNullConstViewScalar {
75
12.0k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
12.0k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4.93k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4.93k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4.93k
        const NullMap* null_map = nullptr;
64
4.93k
        const ArrayType* data = nullptr;
65
4.93k
        if (const auto* nullable_column =
66
4.93k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
961
            null_map = &nullable_column->get_null_map_data();
68
961
            const auto& nested_from_column = nullable_column->get_nested_column();
69
961
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.97k
        } else {
71
3.97k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.97k
        }
73
74
4.93k
        return ColumnNullConstViewScalar {
75
4.93k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4.93k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4.24k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4.24k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4.24k
        const NullMap* null_map = nullptr;
64
4.24k
        const ArrayType* data = nullptr;
65
4.24k
        if (const auto* nullable_column =
66
4.24k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
345
            null_map = &nullable_column->get_null_map_data();
68
345
            const auto& nested_from_column = nullable_column->get_nested_column();
69
345
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.89k
        } else {
71
3.89k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.89k
        }
73
74
4.24k
        return ColumnNullConstViewScalar {
75
4.24k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4.24k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_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
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
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
14
        return ColumnNullConstViewScalar {
75
14
                .data = *data, .null_map = null_map, .is_const = is_const};
76
14
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2.08k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2.08k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2.08k
        const NullMap* null_map = nullptr;
64
2.08k
        const ArrayType* data = nullptr;
65
2.08k
        if (const auto* nullable_column =
66
2.08k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1.84k
            null_map = &nullable_column->get_null_map_data();
68
1.84k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1.84k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
1.84k
        } else {
71
243
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
243
        }
73
74
2.08k
        return ColumnNullConstViewScalar {
75
2.08k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2.08k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
195
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
195
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
195
        const NullMap* null_map = nullptr;
64
195
        const ArrayType* data = nullptr;
65
195
        if (const auto* nullable_column =
66
195
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
105
            null_map = &nullable_column->get_null_map_data();
68
105
            const auto& nested_from_column = nullable_column->get_nested_column();
69
105
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
105
        } else {
71
90
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
90
        }
73
74
195
        return ColumnNullConstViewScalar {
75
195
                .data = *data, .null_map = null_map, .is_const = is_const};
76
195
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_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
0
            null_map = &nullable_column->get_null_map_data();
68
0
            const auto& nested_from_column = nullable_column->get_nested_column();
69
0
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
2
        return ColumnNullConstViewScalar {
75
2
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
8
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
8
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
8
        const NullMap* null_map = nullptr;
64
8
        const ArrayType* data = nullptr;
65
8
        if (const auto* nullable_column =
66
8
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6
            null_map = &nullable_column->get_null_map_data();
68
6
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
8
        return ColumnNullConstViewScalar {
75
8
                .data = *data, .null_map = null_map, .is_const = is_const};
76
8
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
136
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
136
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
136
        const NullMap* null_map = nullptr;
64
136
        const ArrayType* data = nullptr;
65
136
        if (const auto* nullable_column =
66
136
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
105
            null_map = &nullable_column->get_null_map_data();
68
105
            const auto& nested_from_column = nullable_column->get_nested_column();
69
105
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
105
        } else {
71
31
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
31
        }
73
74
136
        return ColumnNullConstViewScalar {
75
136
                .data = *data, .null_map = null_map, .is_const = is_const};
76
136
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
6
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
6
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
6
        const NullMap* null_map = nullptr;
64
6
        const ArrayType* data = nullptr;
65
6
        if (const auto* nullable_column =
66
6
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6
            null_map = &nullable_column->get_null_map_data();
68
6
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
6
        return ColumnNullConstViewScalar {
75
6
                .data = *data, .null_map = null_map, .is_const = is_const};
76
6
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
127
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
127
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
127
        const NullMap* null_map = nullptr;
64
127
        const ArrayType* data = nullptr;
65
127
        if (const auto* nullable_column =
66
127
                    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
114
        } else {
71
114
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
114
        }
73
74
127
        return ColumnNullConstViewScalar {
75
127
                .data = *data, .null_map = null_map, .is_const = is_const};
76
127
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
189
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
189
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
189
        const NullMap* null_map = nullptr;
64
189
        const ArrayType* data = nullptr;
65
189
        if (const auto* nullable_column =
66
189
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
29
            null_map = &nullable_column->get_null_map_data();
68
29
            const auto& nested_from_column = nullable_column->get_nested_column();
69
29
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
160
        } else {
71
160
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
160
        }
73
74
189
        return ColumnNullConstViewScalar {
75
189
                .data = *data, .null_map = null_map, .is_const = is_const};
76
189
    }
_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
64
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
64
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
64
        const NullMap* null_map = nullptr;
64
64
        const ArrayType* data = nullptr;
65
64
        if (const auto* nullable_column =
66
64
                    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
51
        } else {
71
51
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
51
        }
73
74
64
        return ColumnNullConstViewScalar {
75
64
                .data = *data, .null_map = null_map, .is_const = is_const};
76
64
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
18
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
18
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
18
        const NullMap* null_map = nullptr;
64
18
        const ArrayType* data = nullptr;
65
18
        if (const auto* nullable_column =
66
18
                    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
6
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
6
        }
73
74
18
        return ColumnNullConstViewScalar {
75
18
                .data = *data, .null_map = null_map, .is_const = is_const};
76
18
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
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
928
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
928
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
548
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
548
                                          .null_map = &nullable_column->get_null_map_data()};
88
548
        } else {
89
380
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
380
        }
91
928
    }
92
93
2.83k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
2.83k
        auto index = index_check_const(i, from.is_const);
95
2.83k
        column.insert_from(from.column, index);
96
2.83k
        if (null_map != nullptr && from.null_map != nullptr) {
97
908
            null_map->push_back((*from.null_map)[index]);
98
1.92k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
1.12k
            null_map->push_back(0);
101
1.12k
        }
102
2.83k
    }
103
104
32
    void insert_null() {
105
32
        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
32
        column.insert_default();
111
32
        null_map->push_back(1);
112
32
    }
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
3.67k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
3.67k
        ColumnType* data_column = nullptr;
125
3.67k
        NullMap* null_map = nullptr;
126
3.67k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.41k
            null_map = &nullable_column->get_null_map_data();
128
1.41k
            auto& nested_column = nullable_column->get_nested_column();
129
1.41k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2.25k
        } else {
131
2.25k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2.25k
        }
133
134
3.67k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
3.67k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
74
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
74
        ColumnType* data_column = nullptr;
125
74
        NullMap* null_map = nullptr;
126
74
        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
74
        } else {
131
74
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
74
        }
133
134
74
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
74
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2.11k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2.11k
        ColumnType* data_column = nullptr;
125
2.11k
        NullMap* null_map = nullptr;
126
2.11k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
336
            null_map = &nullable_column->get_null_map_data();
128
336
            auto& nested_column = nullable_column->get_nested_column();
129
336
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.78k
        } else {
131
1.78k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
1.78k
        }
133
134
2.11k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2.11k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
12
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
12
        ColumnType* data_column = nullptr;
125
12
        NullMap* null_map = nullptr;
126
12
        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
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
12
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.05k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.05k
        ColumnType* data_column = nullptr;
125
1.05k
        NullMap* null_map = nullptr;
126
1.05k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
923
            null_map = &nullable_column->get_null_map_data();
128
923
            auto& nested_column = nullable_column->get_nested_column();
129
923
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
923
        } else {
131
135
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
135
        }
133
134
1.05k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.05k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
101
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
101
        ColumnType* data_column = nullptr;
125
101
        NullMap* null_map = nullptr;
126
101
        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
65
        } else {
131
65
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
65
        }
133
134
101
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
101
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2
        ColumnType* data_column = nullptr;
125
2
        NullMap* null_map = nullptr;
126
2
        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
2
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_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
5
            null_map = &nullable_column->get_null_map_data();
128
5
            auto& nested_column = nullable_column->get_nested_column();
129
5
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
7
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
69
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
69
        ColumnType* data_column = nullptr;
125
69
        NullMap* null_map = nullptr;
126
69
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
55
            null_map = &nullable_column->get_null_map_data();
128
55
            auto& nested_column = nullable_column->get_nested_column();
129
55
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
55
        } else {
131
14
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
14
        }
133
134
69
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
69
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5
        ColumnType* data_column = nullptr;
125
5
        NullMap* null_map = nullptr;
126
5
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
5
            null_map = &nullable_column->get_null_map_data();
128
5
            auto& nested_column = nullable_column->get_nested_column();
129
5
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
5
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
79
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
79
        ColumnType* data_column = nullptr;
125
79
        NullMap* null_map = nullptr;
126
79
        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
73
        } else {
131
73
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
73
        }
133
134
79
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
79
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
98
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
98
        ColumnType* data_column = nullptr;
125
98
        NullMap* null_map = nullptr;
126
98
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
21
            null_map = &nullable_column->get_null_map_data();
128
21
            auto& nested_column = nullable_column->get_nested_column();
129
21
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
77
        } else {
131
77
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
77
        }
133
134
98
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
98
    }
_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
35
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
35
        ColumnType* data_column = nullptr;
125
35
        NullMap* null_map = nullptr;
126
35
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
9
            null_map = &nullable_column->get_null_map_data();
128
9
            auto& nested_column = nullable_column->get_nested_column();
129
9
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
26
        } else {
131
26
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
26
        }
133
134
35
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
35
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
12
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
12
        ColumnType* data_column = nullptr;
125
12
        NullMap* null_map = nullptr;
126
12
        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
6
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
6
        }
133
134
12
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
12
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
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
7.24k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
7.24k
        auto& result_data = data;
139
7.24k
        const auto& from_data = from.data;
140
141
7.24k
        auto* result_null_map_data = null_map;
142
7.24k
        const auto* from_null_map_data = from.null_map;
143
144
7.24k
        if (from.is_const) {
145
2.68k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2.68k
                                     from_null_map_data, selector);
147
4.55k
        } else {
148
4.55k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
4.55k
                                      from_null_map_data, selector);
150
4.55k
        }
151
7.24k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
146
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
146
        auto& result_data = data;
139
146
        const auto& from_data = from.data;
140
141
146
        auto* result_null_map_data = null_map;
142
146
        const auto* from_null_map_data = from.null_map;
143
144
146
        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
144
        } else {
148
144
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
144
                                      from_null_map_data, selector);
150
144
        }
151
146
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
4.24k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
4.24k
        auto& result_data = data;
139
4.24k
        const auto& from_data = from.data;
140
141
4.24k
        auto* result_null_map_data = null_map;
142
4.24k
        const auto* from_null_map_data = from.null_map;
143
144
4.24k
        if (from.is_const) {
145
2.13k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2.13k
                                     from_null_map_data, selector);
147
2.13k
        } else {
148
2.10k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
2.10k
                                      from_null_map_data, selector);
150
2.10k
        }
151
4.24k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_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
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
12
        } else {
148
12
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12
                                      from_null_map_data, selector);
150
12
        }
151
14
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2.08k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2.08k
        auto& result_data = data;
139
2.08k
        const auto& from_data = from.data;
140
141
2.08k
        auto* result_null_map_data = null_map;
142
2.08k
        const auto* from_null_map_data = from.null_map;
143
144
2.08k
        if (from.is_const) {
145
353
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
353
                                     from_null_map_data, selector);
147
1.73k
        } else {
148
1.73k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.73k
                                      from_null_map_data, selector);
150
1.73k
        }
151
2.08k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
195
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
195
        auto& result_data = data;
139
195
        const auto& from_data = from.data;
140
141
195
        auto* result_null_map_data = null_map;
142
195
        const auto* from_null_map_data = from.null_map;
143
144
195
        if (from.is_const) {
145
47
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
47
                                     from_null_map_data, selector);
147
148
        } else {
148
148
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
148
                                      from_null_map_data, selector);
150
148
        }
151
195
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_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_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
8
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
8
        auto& result_data = data;
139
8
        const auto& from_data = from.data;
140
141
8
        auto* result_null_map_data = null_map;
142
8
        const auto* from_null_map_data = from.null_map;
143
144
8
        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
6
        } 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
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
136
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
136
        auto& result_data = data;
139
136
        const auto& from_data = from.data;
140
141
136
        auto* result_null_map_data = null_map;
142
136
        const auto* from_null_map_data = from.null_map;
143
144
136
        if (from.is_const) {
145
21
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
21
                                     from_null_map_data, selector);
147
115
        } else {
148
115
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
115
                                      from_null_map_data, selector);
150
115
        }
151
136
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
6
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
6
        auto& result_data = data;
139
6
        const auto& from_data = from.data;
140
141
6
        auto* result_null_map_data = null_map;
142
6
        const auto* from_null_map_data = from.null_map;
143
144
6
        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
6
        } 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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
127
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
127
        auto& result_data = data;
139
127
        const auto& from_data = from.data;
140
141
127
        auto* result_null_map_data = null_map;
142
127
        const auto* from_null_map_data = from.null_map;
143
144
127
        if (from.is_const) {
145
26
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
26
                                     from_null_map_data, selector);
147
101
        } else {
148
101
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
101
                                      from_null_map_data, selector);
150
101
        }
151
127
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
189
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
189
        auto& result_data = data;
139
189
        const auto& from_data = from.data;
140
141
189
        auto* result_null_map_data = null_map;
142
189
        const auto* from_null_map_data = from.null_map;
143
144
189
        if (from.is_const) {
145
85
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
85
                                     from_null_map_data, selector);
147
104
        } else {
148
104
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
104
                                      from_null_map_data, selector);
150
104
        }
151
189
    }
_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
64
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
64
        auto& result_data = data;
139
64
        const auto& from_data = from.data;
140
141
64
        auto* result_null_map_data = null_map;
142
64
        const auto* from_null_map_data = from.null_map;
143
144
64
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
60
        } else {
148
60
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
60
                                      from_null_map_data, selector);
150
60
        }
151
64
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
18
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
18
        auto& result_data = data;
139
18
        const auto& from_data = from.data;
140
141
18
        auto* result_null_map_data = null_map;
142
18
        const auto* from_null_map_data = from.null_map;
143
144
18
        if (from.is_const) {
145
6
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6
                                     from_null_map_data, selector);
147
12
        } else {
148
12
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12
                                      from_null_map_data, selector);
150
12
        }
151
18
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
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
7.24k
                                   const Selector& selector) {
157
7.24k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
7.24k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2.32k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2.32k
        }
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
7.24k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_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
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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
144
                                   const Selector& selector) {
157
144
        insert_with_selector<is_const>(result_data, from_data, selector);
158
144
        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
144
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2.13k
                                   const Selector& selector) {
157
2.13k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2.13k
        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
2.13k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2.10k
                                   const Selector& selector) {
157
2.10k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2.10k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
336
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
336
        }
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.10k
    }
_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
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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
12
                                   const Selector& selector) {
157
12
        insert_with_selector<is_const>(result_data, from_data, selector);
158
12
        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
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
353
                                   const Selector& selector) {
157
353
        insert_with_selector<is_const>(result_data, from_data, selector);
158
353
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
311
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
311
        }
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
353
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.73k
                                   const Selector& selector) {
157
1.73k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.73k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.44k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.44k
        }
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.73k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
47
                                   const Selector& selector) {
157
47
        insert_with_selector<is_const>(result_data, from_data, selector);
158
47
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
13
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
13
        }
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
47
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
148
                                   const Selector& selector) {
157
148
        insert_with_selector<is_const>(result_data, from_data, selector);
158
148
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
43
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
43
        }
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
148
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_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
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
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_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
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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_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
8
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
8
        }
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_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
115
                                   const Selector& selector) {
157
115
        insert_with_selector<is_const>(result_data, from_data, selector);
158
115
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
79
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
79
        }
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
115
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
26
                                   const Selector& selector) {
157
26
        insert_with_selector<is_const>(result_data, from_data, selector);
158
26
        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
26
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
101
                                   const Selector& selector) {
157
101
        insert_with_selector<is_const>(result_data, from_data, selector);
158
101
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
7
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
7
        }
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
101
    }
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
85
                                   const Selector& selector) {
157
85
        insert_with_selector<is_const>(result_data, from_data, selector);
158
85
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
5
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
5
        }
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
85
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
104
                                   const Selector& selector) {
157
104
        insert_with_selector<is_const>(result_data, from_data, selector);
158
104
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
23
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
23
        }
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
104
    }
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
4
                                   const Selector& selector) {
157
4
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4
        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
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
60
                                   const Selector& selector) {
157
60
        insert_with_selector<is_const>(result_data, from_data, selector);
158
60
        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
60
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_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
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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
12
                                   const Selector& selector) {
157
12
        insert_with_selector<is_const>(result_data, from_data, selector);
158
12
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
8
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
8
        }
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
12
    }
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
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
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
9.56k
                                     const Selector& selector) {
169
10.1M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.1M
            auto index = selector[i];
171
10.1M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.1M
        }
173
9.56k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_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_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
144
                                     const Selector& selector) {
169
974
        for (size_t i = 0; i < selector.size(); ++i) {
170
830
            auto index = selector[i];
171
830
            result_data[index] = data[index_check_const<is_const>(i)];
172
830
        }
173
144
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2.13k
                                     const Selector& selector) {
169
10.0M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.0M
            auto index = selector[i];
171
10.0M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.0M
        }
173
2.13k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2.10k
                                     const Selector& selector) {
169
3.92k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.81k
            auto index = selector[i];
171
1.81k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.81k
        }
173
2.10k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
336
                                     const Selector& selector) {
169
2.13k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.79k
            auto index = selector[i];
171
1.79k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.79k
        }
173
336
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_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
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
353
                                     const Selector& selector) {
169
1.51k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.16k
            auto index = selector[i];
171
1.16k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.16k
        }
173
353
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
311
                                     const Selector& selector) {
169
1.40k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.08k
            auto index = selector[i];
171
1.08k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.08k
        }
173
311
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.73k
                                     const Selector& selector) {
169
4.15k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.42k
            auto index = selector[i];
171
2.42k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.42k
        }
173
1.73k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.44k
                                     const Selector& selector) {
169
3.49k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.04k
            auto index = selector[i];
171
2.04k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.04k
        }
173
1.44k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
47
                                     const Selector& selector) {
169
143
        for (size_t i = 0; i < selector.size(); ++i) {
170
96
            auto index = selector[i];
171
96
            result_data[index] = data[index_check_const<is_const>(i)];
172
96
        }
173
47
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
13
                                     const Selector& selector) {
169
29
        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
13
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
148
                                     const Selector& selector) {
169
373
        for (size_t i = 0; i < selector.size(); ++i) {
170
225
            auto index = selector[i];
171
225
            result_data[index] = data[index_check_const<is_const>(i)];
172
225
        }
173
148
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
43
                                     const Selector& selector) {
169
89
        for (size_t i = 0; i < selector.size(); ++i) {
170
46
            auto index = selector[i];
171
46
            result_data[index] = data[index_check_const<is_const>(i)];
172
46
        }
173
43
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_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
    }
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
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_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
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
21
                                     const Selector& selector) {
169
44
        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
21
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
18
        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
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
115
                                     const Selector& selector) {
169
327
        for (size_t i = 0; i < selector.size(); ++i) {
170
212
            auto index = selector[i];
171
212
            result_data[index] = data[index_check_const<is_const>(i)];
172
212
        }
173
115
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
79
                                     const Selector& selector) {
169
259
        for (size_t i = 0; i < selector.size(); ++i) {
170
180
            auto index = selector[i];
171
180
            result_data[index] = data[index_check_const<is_const>(i)];
172
180
        }
173
79
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
26
                                     const Selector& selector) {
169
55
        for (size_t i = 0; i < selector.size(); ++i) {
170
29
            auto index = selector[i];
171
29
            result_data[index] = data[index_check_const<is_const>(i)];
172
29
        }
173
26
    }
_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
101
                                     const Selector& selector) {
169
228
        for (size_t i = 0; i < selector.size(); ++i) {
170
127
            auto index = selector[i];
171
127
            result_data[index] = data[index_check_const<is_const>(i)];
172
127
        }
173
101
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
18
        for (size_t i = 0; i < selector.size(); ++i) {
170
11
            auto index = selector[i];
171
11
            result_data[index] = data[index_check_const<is_const>(i)];
172
11
        }
173
7
    }
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
85
                                     const Selector& selector) {
169
25.9k
        for (size_t i = 0; i < selector.size(); ++i) {
170
25.9k
            auto index = selector[i];
171
25.9k
            result_data[index] = data[index_check_const<is_const>(i)];
172
25.9k
        }
173
85
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5
                                     const Selector& selector) {
169
13
        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
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
104
                                     const Selector& selector) {
169
5.06k
        for (size_t i = 0; i < selector.size(); ++i) {
170
4.96k
            auto index = selector[i];
171
4.96k
            result_data[index] = data[index_check_const<is_const>(i)];
172
4.96k
        }
173
104
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
23
                                     const Selector& selector) {
169
76
        for (size_t i = 0; i < selector.size(); ++i) {
170
53
            auto index = selector[i];
171
53
            result_data[index] = data[index_check_const<is_const>(i)];
172
53
        }
173
23
    }
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
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_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
60
                                     const Selector& selector) {
169
131
        for (size_t i = 0; i < selector.size(); ++i) {
170
71
            auto index = selector[i];
171
71
            result_data[index] = data[index_check_const<is_const>(i)];
172
71
        }
173
60
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
32
        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
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
16
        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
6
    }
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
12
                                     const Selector& selector) {
169
30
        for (size_t i = 0; i < selector.size(); ++i) {
170
18
            auto index = selector[i];
171
18
            result_data[index] = data[index_check_const<is_const>(i)];
172
18
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
26
        for (size_t i = 0; i < selector.size(); ++i) {
170
18
            auto index = selector[i];
171
18
            result_data[index] = data[index_check_const<is_const>(i)];
172
18
        }
173
8
    }
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
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
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
23
    void insert_null(const Selector& selector) {
176
23
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
23
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
22
        auto& null_map_data = *null_map;
183
49
        for (size_t i = 0; i < selector.size(); ++i) {
184
27
            null_map_data[selector[i]] = 1;
185
27
        }
186
22
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
13
    void insert_null(const Selector& selector) {
176
13
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
13
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
12
        auto& null_map_data = *null_map;
183
29
        for (size_t i = 0; i < selector.size(); ++i) {
184
17
            null_map_data[selector[i]] = 1;
185
17
        }
186
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
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
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
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
466
    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
3.39k
                          const Selector& false_selector, size_t count) {
230
3.39k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
3.39k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
3.39k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
3.39k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
3.39k
        auto result_column = result_type->create_column();
236
237
3.39k
        MutableColumnNullViewScalar<PType> result_column_view =
238
3.39k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
3.39k
        init_result_column(result_column_view, count);
240
241
3.39k
        ColumnNullConstViewScalar<PType> true_column_view =
242
3.39k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
3.39k
        ColumnNullConstViewScalar<PType> false_column_view =
244
3.39k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
3.39k
        result_column_view.insert_from(true_column_view, true_selector);
247
3.39k
        result_column_view.insert_from(false_column_view, false_selector);
248
3.39k
        DCHECK_EQ(result_column->size(), count);
249
3.39k
        return result_column;
250
3.39k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
72
                          const Selector& false_selector, size_t count) {
230
72
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
72
        DCHECK_EQ(true_column->size(), true_selector.size());
232
72
        DCHECK_EQ(false_column->size(), false_selector.size());
233
72
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
72
        auto result_column = result_type->create_column();
236
237
72
        MutableColumnNullViewScalar<PType> result_column_view =
238
72
                MutableColumnNullViewScalar<PType>::create(result_column);
239
72
        init_result_column(result_column_view, count);
240
241
72
        ColumnNullConstViewScalar<PType> true_column_view =
242
72
                ColumnNullConstViewScalar<PType>::create(true_column);
243
72
        ColumnNullConstViewScalar<PType> false_column_view =
244
72
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
72
        result_column_view.insert_from(true_column_view, true_selector);
247
72
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
72
        return result_column;
250
72
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2.08k
                          const Selector& false_selector, size_t count) {
230
2.08k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2.08k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2.08k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2.08k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2.08k
        auto result_column = result_type->create_column();
236
237
2.08k
        MutableColumnNullViewScalar<PType> result_column_view =
238
2.08k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2.08k
        init_result_column(result_column_view, count);
240
241
2.08k
        ColumnNullConstViewScalar<PType> true_column_view =
242
2.08k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2.08k
        ColumnNullConstViewScalar<PType> false_column_view =
244
2.08k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2.08k
        result_column_view.insert_from(true_column_view, true_selector);
247
2.08k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2.08k
        return result_column;
250
2.08k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
985
                          const Selector& false_selector, size_t count) {
230
985
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
985
        DCHECK_EQ(true_column->size(), true_selector.size());
232
985
        DCHECK_EQ(false_column->size(), false_selector.size());
233
985
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
985
        auto result_column = result_type->create_column();
236
237
985
        MutableColumnNullViewScalar<PType> result_column_view =
238
985
                MutableColumnNullViewScalar<PType>::create(result_column);
239
985
        init_result_column(result_column_view, count);
240
241
985
        ColumnNullConstViewScalar<PType> true_column_view =
242
985
                ColumnNullConstViewScalar<PType>::create(true_column);
243
985
        ColumnNullConstViewScalar<PType> false_column_view =
244
985
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
985
        result_column_view.insert_from(true_column_view, true_selector);
247
985
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
985
        return result_column;
250
985
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
84
                          const Selector& false_selector, size_t count) {
230
84
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
84
        DCHECK_EQ(true_column->size(), true_selector.size());
232
84
        DCHECK_EQ(false_column->size(), false_selector.size());
233
84
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
84
        auto result_column = result_type->create_column();
236
237
84
        MutableColumnNullViewScalar<PType> result_column_view =
238
84
                MutableColumnNullViewScalar<PType>::create(result_column);
239
84
        init_result_column(result_column_view, count);
240
241
84
        ColumnNullConstViewScalar<PType> true_column_view =
242
84
                ColumnNullConstViewScalar<PType>::create(true_column);
243
84
        ColumnNullConstViewScalar<PType> false_column_view =
244
84
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
84
        result_column_view.insert_from(true_column_view, true_selector);
247
84
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
84
        return result_column;
250
84
    }
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
43
                          const Selector& false_selector, size_t count) {
230
43
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
43
        DCHECK_EQ(true_column->size(), true_selector.size());
232
43
        DCHECK_EQ(false_column->size(), false_selector.size());
233
43
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
43
        auto result_column = result_type->create_column();
236
237
43
        MutableColumnNullViewScalar<PType> result_column_view =
238
43
                MutableColumnNullViewScalar<PType>::create(result_column);
239
43
        init_result_column(result_column_view, count);
240
241
43
        ColumnNullConstViewScalar<PType> true_column_view =
242
43
                ColumnNullConstViewScalar<PType>::create(true_column);
243
43
        ColumnNullConstViewScalar<PType> false_column_view =
244
43
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
43
        result_column_view.insert_from(true_column_view, true_selector);
247
43
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
43
        return result_column;
250
43
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
8
                          const Selector& false_selector, size_t count) {
230
8
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
8
        DCHECK_EQ(true_column->size(), true_selector.size());
232
8
        DCHECK_EQ(false_column->size(), false_selector.size());
233
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
8
        auto result_column = result_type->create_column();
236
237
8
        MutableColumnNullViewScalar<PType> result_column_view =
238
8
                MutableColumnNullViewScalar<PType>::create(result_column);
239
8
        init_result_column(result_column_view, count);
240
241
8
        ColumnNullConstViewScalar<PType> true_column_view =
242
8
                ColumnNullConstViewScalar<PType>::create(true_column);
243
8
        ColumnNullConstViewScalar<PType> false_column_view =
244
8
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
8
        result_column_view.insert_from(true_column_view, true_selector);
247
8
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
8
        return result_column;
250
8
    }
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
91
                          const Selector& false_selector, size_t count) {
230
91
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
91
        DCHECK_EQ(true_column->size(), true_selector.size());
232
91
        DCHECK_EQ(false_column->size(), false_selector.size());
233
91
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
91
        auto result_column = result_type->create_column();
236
237
91
        MutableColumnNullViewScalar<PType> result_column_view =
238
91
                MutableColumnNullViewScalar<PType>::create(result_column);
239
91
        init_result_column(result_column_view, count);
240
241
91
        ColumnNullConstViewScalar<PType> true_column_view =
242
91
                ColumnNullConstViewScalar<PType>::create(true_column);
243
91
        ColumnNullConstViewScalar<PType> false_column_view =
244
91
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
91
        result_column_view.insert_from(true_column_view, true_selector);
247
91
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
91
        return result_column;
250
91
    }
_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
26
                          const Selector& false_selector, size_t count) {
230
26
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
26
        DCHECK_EQ(true_column->size(), true_selector.size());
232
26
        DCHECK_EQ(false_column->size(), false_selector.size());
233
26
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
26
        auto result_column = result_type->create_column();
236
237
26
        MutableColumnNullViewScalar<PType> result_column_view =
238
26
                MutableColumnNullViewScalar<PType>::create(result_column);
239
26
        init_result_column(result_column_view, count);
240
241
26
        ColumnNullConstViewScalar<PType> true_column_view =
242
26
                ColumnNullConstViewScalar<PType>::create(true_column);
243
26
        ColumnNullConstViewScalar<PType> false_column_view =
244
26
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
26
        result_column_view.insert_from(true_column_view, true_selector);
247
26
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
26
        return result_column;
250
26
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
4
                          const Selector& false_selector, size_t count) {
230
4
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
4
        DCHECK_EQ(true_column->size(), true_selector.size());
232
4
        DCHECK_EQ(false_column->size(), false_selector.size());
233
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
4
        auto result_column = result_type->create_column();
236
237
4
        MutableColumnNullViewScalar<PType> result_column_view =
238
4
                MutableColumnNullViewScalar<PType>::create(result_column);
239
4
        init_result_column(result_column_view, count);
240
241
4
        ColumnNullConstViewScalar<PType> true_column_view =
242
4
                ColumnNullConstViewScalar<PType>::create(true_column);
243
4
        ColumnNullConstViewScalar<PType> false_column_view =
244
4
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
4
        result_column_view.insert_from(true_column_view, true_selector);
247
4
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
4
        return result_column;
250
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
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
274
                          size_t count) {
255
274
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
274
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
274
                                             return sum + cs.selector.size();
258
274
                                         }));
259
274
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
274
        auto result_column = result_type->create_column();
261
262
274
        MutableColumnNullViewScalar<PType> result_column_view =
263
274
                MutableColumnNullViewScalar<PType>::create(result_column);
264
274
        init_result_column(result_column_view, count);
265
266
461
        for (const auto& columns_and_selector : columns_and_selectors) {
267
461
            if (columns_and_selector.output_nulls()) {
268
21
                result_column_view.insert_null(columns_and_selector.selector);
269
440
            } else {
270
440
                ColumnNullConstViewScalar<PType> from_column_view =
271
440
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
440
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
440
            }
274
461
        }
275
274
        DCHECK_EQ(result_column->size(), count);
276
274
        return result_column;
277
274
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_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_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
37
                          size_t count) {
255
37
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
37
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
37
                                             return sum + cs.selector.size();
258
37
                                         }));
259
37
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
37
        auto result_column = result_type->create_column();
261
262
37
        MutableColumnNullViewScalar<PType> result_column_view =
263
37
                MutableColumnNullViewScalar<PType>::create(result_column);
264
37
        init_result_column(result_column_view, count);
265
266
78
        for (const auto& columns_and_selector : columns_and_selectors) {
267
78
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
76
            } else {
270
76
                ColumnNullConstViewScalar<PType> from_column_view =
271
76
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
76
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
76
            }
274
78
        }
275
        DCHECK_EQ(result_column->size(), count);
276
37
        return result_column;
277
37
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
12
                          size_t count) {
255
12
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
12
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
12
                                             return sum + cs.selector.size();
258
12
                                         }));
259
12
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
12
        auto result_column = result_type->create_column();
261
262
12
        MutableColumnNullViewScalar<PType> result_column_view =
263
12
                MutableColumnNullViewScalar<PType>::create(result_column);
264
12
        init_result_column(result_column_view, count);
265
266
16
        for (const auto& columns_and_selector : columns_and_selectors) {
267
16
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
14
            } else {
270
14
                ColumnNullConstViewScalar<PType> from_column_view =
271
14
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
14
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
14
            }
274
16
        }
275
        DCHECK_EQ(result_column->size(), count);
276
12
        return result_column;
277
12
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
69
                          size_t count) {
255
69
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
69
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
69
                                             return sum + cs.selector.size();
258
69
                                         }));
259
69
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
69
        auto result_column = result_type->create_column();
261
262
69
        MutableColumnNullViewScalar<PType> result_column_view =
263
69
                MutableColumnNullViewScalar<PType>::create(result_column);
264
69
        init_result_column(result_column_view, count);
265
266
123
        for (const auto& columns_and_selector : columns_and_selectors) {
267
123
            if (columns_and_selector.output_nulls()) {
268
11
                result_column_view.insert_null(columns_and_selector.selector);
269
112
            } else {
270
112
                ColumnNullConstViewScalar<PType> from_column_view =
271
112
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
112
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
112
            }
274
123
        }
275
        DCHECK_EQ(result_column->size(), count);
276
69
        return result_column;
277
69
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
15
                          size_t count) {
255
15
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
15
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
15
                                             return sum + cs.selector.size();
258
15
                                         }));
259
15
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
15
        auto result_column = result_type->create_column();
261
262
15
        MutableColumnNullViewScalar<PType> result_column_view =
263
15
                MutableColumnNullViewScalar<PType>::create(result_column);
264
15
        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
1
                result_column_view.insert_null(columns_and_selector.selector);
269
23
            } else {
270
23
                ColumnNullConstViewScalar<PType> from_column_view =
271
23
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
23
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
23
            }
274
24
        }
275
        DCHECK_EQ(result_column->size(), count);
276
15
        return result_column;
277
15
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_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_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        init_result_column(result_column_view, count);
265
266
9
        for (const auto& columns_and_selector : columns_and_selectors) {
267
9
            if (columns_and_selector.output_nulls()) {
268
1
                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
9
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
26
                          size_t count) {
255
26
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
26
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
26
                                             return sum + cs.selector.size();
258
26
                                         }));
259
26
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
26
        auto result_column = result_type->create_column();
261
262
26
        MutableColumnNullViewScalar<PType> result_column_view =
263
26
                MutableColumnNullViewScalar<PType>::create(result_column);
264
26
        init_result_column(result_column_view, count);
265
266
51
        for (const auto& columns_and_selector : columns_and_selectors) {
267
51
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
50
            } else {
270
50
                ColumnNullConstViewScalar<PType> from_column_view =
271
50
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
50
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
50
            }
274
51
        }
275
        DCHECK_EQ(result_column->size(), count);
276
26
        return result_column;
277
26
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_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
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
1
                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
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
71
                          size_t count) {
255
71
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
71
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
71
                                             return sum + cs.selector.size();
258
71
                                         }));
259
71
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
71
        auto result_column = result_type->create_column();
261
262
71
        MutableColumnNullViewScalar<PType> result_column_view =
263
71
                MutableColumnNullViewScalar<PType>::create(result_column);
264
71
        init_result_column(result_column_view, count);
265
266
111
        for (const auto& columns_and_selector : columns_and_selectors) {
267
111
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
111
            } else {
270
111
                ColumnNullConstViewScalar<PType> from_column_view =
271
111
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
111
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
111
            }
274
111
        }
275
        DCHECK_EQ(result_column->size(), count);
276
71
        return result_column;
277
71
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        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
7
        return result_column;
277
7
    }
_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
9
                          size_t count) {
255
9
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
9
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
9
                                             return sum + cs.selector.size();
258
9
                                         }));
259
9
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
9
        auto result_column = result_type->create_column();
261
262
9
        MutableColumnNullViewScalar<PType> result_column_view =
263
9
                MutableColumnNullViewScalar<PType>::create(result_column);
264
9
        init_result_column(result_column_view, count);
265
266
13
        for (const auto& columns_and_selector : columns_and_selectors) {
267
13
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
13
        }
275
        DCHECK_EQ(result_column->size(), count);
276
9
        return result_column;
277
9
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
8
                          size_t count) {
255
8
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
8
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
8
                                             return sum + cs.selector.size();
258
8
                                         }));
259
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
8
        auto result_column = result_type->create_column();
261
262
8
        MutableColumnNullViewScalar<PType> result_column_view =
263
8
                MutableColumnNullViewScalar<PType>::create(result_column);
264
8
        init_result_column(result_column_view, count);
265
266
11
        for (const auto& columns_and_selector : columns_and_selectors) {
267
11
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
10
            } else {
270
10
                ColumnNullConstViewScalar<PType> from_column_view =
271
10
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
10
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
10
            }
274
11
        }
275
        DCHECK_EQ(result_column->size(), count);
276
8
        return result_column;
277
8
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
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
3.67k
                                   size_t count) {
283
3.67k
        result_column_view.data.resize(count);
284
3.67k
        if (result_column_view.null_map != nullptr) {
285
1.41k
            result_column_view.null_map->resize_fill(count, 0);
286
1.41k
        }
287
3.67k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
74
                                   size_t count) {
283
74
        result_column_view.data.resize(count);
284
74
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
74
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
2.11k
                                   size_t count) {
283
2.11k
        result_column_view.data.resize(count);
284
2.11k
        if (result_column_view.null_map != nullptr) {
285
336
            result_column_view.null_map->resize_fill(count, 0);
286
336
        }
287
2.11k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
Line
Count
Source
282
12
                                   size_t count) {
283
12
        result_column_view.data.resize(count);
284
12
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
12
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
1.05k
                                   size_t count) {
283
1.05k
        result_column_view.data.resize(count);
284
1.05k
        if (result_column_view.null_map != nullptr) {
285
921
            result_column_view.null_map->resize_fill(count, 0);
286
921
        }
287
1.05k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
101
                                   size_t count) {
283
101
        result_column_view.data.resize(count);
284
101
        if (result_column_view.null_map != nullptr) {
285
36
            result_column_view.null_map->resize_fill(count, 0);
286
36
        }
287
101
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
Line
Count
Source
282
2
                                   size_t count) {
283
2
        result_column_view.data.resize(count);
284
2
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
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
5
            result_column_view.null_map->resize_fill(count, 0);
286
5
        }
287
7
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
69
                                   size_t count) {
283
69
        result_column_view.data.resize(count);
284
69
        if (result_column_view.null_map != nullptr) {
285
55
            result_column_view.null_map->resize_fill(count, 0);
286
55
        }
287
69
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
5
                                   size_t count) {
283
5
        result_column_view.data.resize(count);
284
5
        if (result_column_view.null_map != nullptr) {
285
5
            result_column_view.null_map->resize_fill(count, 0);
286
5
        }
287
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
79
                                   size_t count) {
283
79
        result_column_view.data.resize(count);
284
79
        if (result_column_view.null_map != nullptr) {
285
6
            result_column_view.null_map->resize_fill(count, 0);
286
6
        }
287
79
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
98
                                   size_t count) {
283
98
        result_column_view.data.resize(count);
284
98
        if (result_column_view.null_map != nullptr) {
285
21
            result_column_view.null_map->resize_fill(count, 0);
286
21
        }
287
98
    }
_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
35
                                   size_t count) {
283
35
        result_column_view.data.resize(count);
284
35
        if (result_column_view.null_map != nullptr) {
285
9
            result_column_view.null_map->resize_fill(count, 0);
286
9
        }
287
35
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
12
                                   size_t count) {
283
12
        result_column_view.data.resize(count);
284
12
        if (result_column_view.null_map != nullptr) {
285
6
            result_column_view.null_map->resize_fill(count, 0);
286
6
        }
287
12
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
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
603
                          const Selector& false_selector, size_t count) {
296
603
        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
603
        DCHECK_EQ(true_column->size(), true_selector.size());
301
603
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
603
        auto result_column = result_type->create_column();
304
305
603
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
603
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
603
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
603
        size_t true_index = 0;
310
603
        size_t false_index = 0;
311
1.94k
        for (size_t i = 0; i < count; ++i) {
312
1.34k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
340
                result_column_view.insert_from(true_column_view, true_index++);
314
1.00k
            } else {
315
1.00k
                result_column_view.insert_from(false_column_view, false_index++);
316
1.00k
            }
317
1.34k
        }
318
319
603
        DCHECK_EQ(result_column->size(), count);
320
603
        return result_column;
321
603
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
320
                          size_t count) {
326
320
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
320
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
320
                                             return sum + cs.selector.size();
329
320
                                         }));
330
320
        struct FillColumnWithPos {
331
320
            std::optional<ColumnNullConstView> source_column;
332
320
            size_t pos_in_source; // position in the column
333
334
1.50k
            void insert_to_column(MutableColumnNullView& result_column) const {
335
1.50k
                if (!source_column) {
336
30
                    result_column.insert_null();
337
1.47k
                } else {
338
1.47k
                    result_column.insert_from(*source_column, pos_in_source);
339
1.47k
                }
340
1.50k
            }
341
320
        };
342
343
320
        auto mutable_result_column = result_type->create_column();
344
320
        mutable_result_column->reserve(count);
345
346
320
        MutableColumnNullView mutable_result_column_view =
347
320
                MutableColumnNullView::create(mutable_result_column);
348
349
320
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
1.12k
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
1.12k
            if (column_with_selector.selector.empty()) {
353
681
                continue;
354
681
            }
355
1.95k
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
1.50k
                size_t result_index = column_with_selector.selector[i];
357
1.50k
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
1.50k
                if (column_with_selector.column) {
360
1.47k
                    ColumnNullConstView column_view =
361
1.47k
                            ColumnNullConstView::create(column_with_selector.column);
362
1.47k
                    fill_positions[result_index].source_column.emplace(column_view);
363
1.47k
                    fill_positions[result_index].pos_in_source = i;
364
1.47k
                } else {
365
30
                    fill_positions[result_index].source_column = std::nullopt;
366
30
                }
367
1.50k
            }
368
447
        }
369
370
1.50k
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
1.50k
            fill_pos.insert_to_column(mutable_result_column_view);
372
1.50k
        }
373
374
320
        DCHECK_EQ(mutable_result_column->size(), count);
375
320
        return mutable_result_column;
376
320
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
5.46k
            : _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
5.45k
    void for_each_with_selector(Func& f) const {
388
5.45k
        if (_selector != nullptr) {
389
1.10k
            const auto& selector_data = *_selector;
390
3.31k
            for (size_t i = 0; i < _count; ++i) {
391
2.21k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2.21k
            }
393
4.35k
        } else {
394
10.1M
            for (size_t i = 0; i < _count; ++i) {
395
10.1M
                f(index_check_const<is_const>(i), i, i);
396
10.1M
            }
397
4.35k
        }
398
5.45k
    }
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
16
    void for_each_with_selector(Func& f) const {
388
16
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
6
            for (size_t i = 0; i < _count; ++i) {
391
4
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
4
            }
393
14
        } else {
394
31
            for (size_t i = 0; i < _count; ++i) {
395
17
                f(index_check_const<is_const>(i), i, i);
396
17
            }
397
14
        }
398
16
    }
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
496
    void for_each_with_selector(Func& f) const {
388
496
        if (_selector != nullptr) {
389
52
            const auto& selector_data = *_selector;
390
165
            for (size_t i = 0; i < _count; ++i) {
391
113
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
113
            }
393
444
        } else {
394
8.26k
            for (size_t i = 0; i < _count; ++i) {
395
7.82k
                f(index_check_const<is_const>(i), i, i);
396
7.82k
            }
397
444
        }
398
496
    }
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
237
    void for_each_with_selector(Func& f) const {
388
237
        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
237
        } else {
394
690
            for (size_t i = 0; i < _count; ++i) {
395
453
                f(index_check_const<is_const>(i), i, i);
396
453
            }
397
237
        }
398
237
    }
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
2.93k
    void for_each_with_selector(Func& f) const {
388
2.93k
        if (_selector != nullptr) {
389
99
            const auto& selector_data = *_selector;
390
341
            for (size_t i = 0; i < _count; ++i) {
391
242
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
242
            }
393
2.83k
        } else {
394
10.0M
            for (size_t i = 0; i < _count; ++i) {
395
10.0M
                f(index_check_const<is_const>(i), i, i);
396
10.0M
            }
397
2.83k
        }
398
2.93k
    }
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
20
    void for_each_with_selector(Func& f) const {
388
20
        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
20
        } else {
394
46
            for (size_t i = 0; i < _count; ++i) {
395
26
                f(index_check_const<is_const>(i), i, i);
396
26
            }
397
20
        }
398
20
    }
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
149
    void for_each_with_selector(Func& f) const {
388
149
        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
149
        } else {
394
524
            for (size_t i = 0; i < _count; ++i) {
395
375
                f(index_check_const<is_const>(i), i, i);
396
375
            }
397
149
        }
398
149
    }
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
53
    void for_each_with_selector(Func& f) const {
388
53
        if (_selector != nullptr) {
389
18
            const auto& selector_data = *_selector;
390
58
            for (size_t i = 0; i < _count; ++i) {
391
40
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
40
            }
393
35
        } else {
394
147
            for (size_t i = 0; i < _count; ++i) {
395
112
                f(index_check_const<is_const>(i), i, i);
396
112
            }
397
35
        }
398
53
    }
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
20
    void for_each_with_selector(Func& f) const {
388
20
        if (_selector != nullptr) {
389
20
            const auto& selector_data = *_selector;
390
56
            for (size_t i = 0; i < _count; ++i) {
391
36
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
36
            }
393
20
        } 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
20
    }
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
187
    void for_each_with_selector(Func& f) const {
388
187
        if (_selector != nullptr) {
389
187
            const auto& selector_data = *_selector;
390
621
            for (size_t i = 0; i < _count; ++i) {
391
434
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
434
            }
393
187
        } 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
187
    }
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
553
    void for_each_with_selector(Func& f) const {
388
553
        if (_selector != nullptr) {
389
553
            const auto& selector_data = *_selector;
390
1.64k
            for (size_t i = 0; i < _count; ++i) {
391
1.09k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.09k
            }
393
553
        } 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
553
    }
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
4
    void for_each_with_selector(Func& f) const {
388
4
        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
2
        } else {
394
4
            for (size_t i = 0; i < _count; ++i) {
395
2
                f(index_check_const<is_const>(i), i, i);
396
2
            }
397
2
        }
398
4
    }
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
307
    void for_each_with_selector(Func& f) const {
388
307
        if (_selector != nullptr) {
389
41
            const auto& selector_data = *_selector;
390
113
            for (size_t i = 0; i < _count; ++i) {
391
72
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
72
            }
393
266
        } else {
394
1.58k
            for (size_t i = 0; i < _count; ++i) {
395
1.32k
                f(index_check_const<is_const>(i), i, i);
396
1.32k
            }
397
266
        }
398
307
    }
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
5
    void for_each_with_selector(Func& f) const {
388
5
        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
3
        } else {
394
6
            for (size_t i = 0; i < _count; ++i) {
395
3
                f(index_check_const<is_const>(i), i, i);
396
3
            }
397
3
        }
398
5
    }
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
223
    void for_each_with_selector(Func& f) const {
388
223
        if (_selector != nullptr) {
389
12
            const auto& selector_data = *_selector;
390
30
            for (size_t i = 0; i < _count; ++i) {
391
18
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
18
            }
393
211
        } else {
394
814
            for (size_t i = 0; i < _count; ++i) {
395
603
                f(index_check_const<is_const>(i), i, i);
396
603
            }
397
211
        }
398
223
    }
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_
Line
Count
Source
387
24
    void for_each_with_selector(Func& f) const {
388
24
        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
24
        } else {
394
48
            for (size_t i = 0; i < _count; ++i) {
395
24
                f(index_check_const<is_const>(i), i, i);
396
24
            }
397
24
        }
398
24
    }
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
2
    void for_each_with_selector(Func& f) const {
388
2
        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
2
        } 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
2
    }
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
68
    void for_each_with_selector(Func& f) const {
388
68
        if (_selector != nullptr) {
389
68
            const auto& selector_data = *_selector;
390
154
            for (size_t i = 0; i < _count; ++i) {
391
86
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
86
            }
393
68
        } 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
68
    }
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
43
    void for_each_with_selector(Func& f) const {
388
43
        if (_selector != nullptr) {
389
43
            const auto& selector_data = *_selector;
390
111
            for (size_t i = 0; i < _count; ++i) {
391
68
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
68
            }
393
43
        } 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
43
    }
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
2
    void for_each_with_selector(Func& f) const {
388
2
        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
2
        } 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
2
    }
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
4.78k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
4.78k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
4.78k
                                      size_t count) {
415
4.78k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
4.78k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
4.78k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
4.78k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
4.78k
        if (this->null_map != nullptr) {
422
888
            const auto& null_map_data = *(this->null_map);
423
8.82k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
8.82k
                if (null_map_data[i]) {
425
270
                    null_func(self_index, executor_index);
426
8.55k
                } else {
427
8.55k
                    if (this->data[i]) {
428
3.92k
                        true_func(self_index, executor_index);
429
4.62k
                    } else {
430
4.62k
                        false_func(self_index, executor_index);
431
4.62k
                    }
432
8.55k
                }
433
8.82k
            };
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
7.95k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
7.95k
                if (null_map_data[i]) {
425
138
                    null_func(self_index, executor_index);
426
7.81k
                } else {
427
7.81k
                    if (this->data[i]) {
428
3.60k
                        true_func(self_index, executor_index);
429
4.21k
                    } else {
430
4.21k
                        false_func(self_index, executor_index);
431
4.21k
                    }
432
7.81k
                }
433
7.95k
            };
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
401
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
401
                if (null_map_data[i]) {
425
70
                    null_func(self_index, executor_index);
426
331
                } else {
427
331
                    if (this->data[i]) {
428
144
                        true_func(self_index, executor_index);
429
187
                    } else {
430
187
                        false_func(self_index, executor_index);
431
187
                    }
432
331
                }
433
401
            };
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
470
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
470
                if (null_map_data[i]) {
425
62
                    null_func(self_index, executor_index);
426
408
                } else {
427
408
                    if (this->data[i]) {
428
184
                        true_func(self_index, executor_index);
429
224
                    } else {
430
224
                        false_func(self_index, executor_index);
431
224
                    }
432
408
                }
433
470
            };
434
888
            if (is_const) {
435
56
                for_each_with_selector<true>(update);
436
832
            } else {
437
832
                for_each_with_selector<false>(update);
438
832
            }
439
3.89k
        } else {
440
            // non-nullable condition column
441
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
84.1k
                    false_func(self_index, executor_index);
446
84.1k
                }
447
10.0M
            };
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
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
82.9k
                    false_func(self_index, executor_index);
446
82.9k
                }
447
10.0M
            };
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
1.11k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.11k
                if (this->data[i]) {
443
1.00k
                    true_func(self_index, executor_index);
444
1.00k
                } else {
445
114
                    false_func(self_index, executor_index);
446
114
                }
447
1.11k
            };
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.09k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.09k
                if (this->data[i]) {
443
39
                    true_func(self_index, executor_index);
444
1.05k
                } else {
445
1.05k
                    false_func(self_index, executor_index);
446
1.05k
                }
447
1.09k
            };
448
3.89k
            if (is_const) {
449
351
                for_each_with_selector<true>(update);
450
3.54k
            } else {
451
3.54k
                for_each_with_selector<false>(update);
452
3.54k
            }
453
3.89k
        }
454
4.78k
    }
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
3.68k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.68k
        if (this->null_map != nullptr) {
422
512
            const auto& null_map_data = *(this->null_map);
423
512
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
512
                if (null_map_data[i]) {
425
512
                    null_func(self_index, executor_index);
426
512
                } else {
427
512
                    if (this->data[i]) {
428
512
                        true_func(self_index, executor_index);
429
512
                    } else {
430
512
                        false_func(self_index, executor_index);
431
512
                    }
432
512
                }
433
512
            };
434
512
            if (is_const) {
435
16
                for_each_with_selector<true>(update);
436
496
            } else {
437
496
                for_each_with_selector<false>(update);
438
496
            }
439
3.17k
        } else {
440
            // non-nullable condition column
441
3.17k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
3.17k
                if (this->data[i]) {
443
3.17k
                    true_func(self_index, executor_index);
444
3.17k
                } else {
445
3.17k
                    false_func(self_index, executor_index);
446
3.17k
                }
447
3.17k
            };
448
3.17k
            if (is_const) {
449
237
                for_each_with_selector<true>(update);
450
2.93k
            } else {
451
2.93k
                for_each_with_selector<false>(update);
452
2.93k
            }
453
3.17k
        }
454
3.68k
    }
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
336
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
336
        if (this->null_map != nullptr) {
422
169
            const auto& null_map_data = *(this->null_map);
423
169
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
169
                if (null_map_data[i]) {
425
169
                    null_func(self_index, executor_index);
426
169
                } else {
427
169
                    if (this->data[i]) {
428
169
                        true_func(self_index, executor_index);
429
169
                    } else {
430
169
                        false_func(self_index, executor_index);
431
169
                    }
432
169
                }
433
169
            };
434
169
            if (is_const) {
435
20
                for_each_with_selector<true>(update);
436
149
            } else {
437
149
                for_each_with_selector<false>(update);
438
149
            }
439
169
        } else {
440
            // non-nullable condition column
441
167
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
167
                if (this->data[i]) {
443
167
                    true_func(self_index, executor_index);
444
167
                } else {
445
167
                    false_func(self_index, executor_index);
446
167
                }
447
167
            };
448
167
            if (is_const) {
449
114
                for_each_with_selector<true>(update);
450
114
            } else {
451
53
                for_each_with_selector<false>(update);
452
53
            }
453
167
        }
454
336
    }
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
760
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
760
        if (this->null_map != nullptr) {
422
207
            const auto& null_map_data = *(this->null_map);
423
207
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
207
                if (null_map_data[i]) {
425
207
                    null_func(self_index, executor_index);
426
207
                } else {
427
207
                    if (this->data[i]) {
428
207
                        true_func(self_index, executor_index);
429
207
                    } else {
430
207
                        false_func(self_index, executor_index);
431
207
                    }
432
207
                }
433
207
            };
434
207
            if (is_const) {
435
20
                for_each_with_selector<true>(update);
436
187
            } else {
437
187
                for_each_with_selector<false>(update);
438
187
            }
439
553
        } else {
440
            // non-nullable condition column
441
553
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
553
                if (this->data[i]) {
443
553
                    true_func(self_index, executor_index);
444
553
                } else {
445
553
                    false_func(self_index, executor_index);
446
553
                }
447
553
            };
448
553
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
553
            } else {
451
553
                for_each_with_selector<false>(update);
452
553
            }
453
553
        }
454
760
    }
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
683
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
683
                                          size_t count) {
465
683
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
683
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
683
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
678
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
678
        if (this->null_map != nullptr) {
472
609
            const auto& null_map_data = *(this->null_map);
473
2.11k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
2.11k
                if (null_map_data[i]) {
475
299
                    null_func(self_index, executor_index);
476
1.81k
                } else {
477
1.81k
                    not_null_func(self_index, executor_index);
478
1.81k
                }
479
2.11k
            };
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
1.39k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.39k
                if (null_map_data[i]) {
475
117
                    null_func(self_index, executor_index);
476
1.27k
                } else {
477
1.27k
                    not_null_func(self_index, executor_index);
478
1.27k
                }
479
1.39k
            };
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
626
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
626
                if (null_map_data[i]) {
475
134
                    null_func(self_index, executor_index);
476
492
                } else {
477
492
                    not_null_func(self_index, executor_index);
478
492
                }
479
626
            };
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
88
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
88
                if (null_map_data[i]) {
475
48
                    null_func(self_index, executor_index);
476
48
                } else {
477
40
                    not_null_func(self_index, executor_index);
478
40
                }
479
88
            };
480
609
            if (is_const) {
481
11
                for_each_with_selector<true>(update);
482
598
            } else {
483
598
                for_each_with_selector<false>(update);
484
598
            }
485
609
        } else {
486
            // non-nullable condition column
487
94
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
94
                not_null_func(self_index, executor_index);
489
94
            };
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
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
Line
Count
Source
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
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
70
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
70
                not_null_func(self_index, executor_index);
489
70
            };
490
69
            if (is_const) {
491
67
                for_each_with_selector<true>(update);
492
67
            } else {
493
2
                for_each_with_selector<false>(update);
494
2
            }
495
69
        }
496
678
    }
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
311
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
311
        if (this->null_map != nullptr) {
472
311
            const auto& null_map_data = *(this->null_map);
473
311
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
311
                if (null_map_data[i]) {
475
311
                    null_func(self_index, executor_index);
476
311
                } else {
477
311
                    not_null_func(self_index, executor_index);
478
311
                }
479
311
            };
480
311
            if (is_const) {
481
4
                for_each_with_selector<true>(update);
482
307
            } else {
483
307
                for_each_with_selector<false>(update);
484
307
            }
485
311
        } 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
311
    }
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
252
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
252
        if (this->null_map != nullptr) {
472
228
            const auto& null_map_data = *(this->null_map);
473
228
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
228
                if (null_map_data[i]) {
475
228
                    null_func(self_index, executor_index);
476
228
                } else {
477
228
                    not_null_func(self_index, executor_index);
478
228
                }
479
228
            };
480
228
            if (is_const) {
481
5
                for_each_with_selector<true>(update);
482
223
            } else {
483
223
                for_each_with_selector<false>(update);
484
223
            }
485
228
        } else {
486
            // non-nullable condition column
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
490
24
            if (is_const) {
491
24
                for_each_with_selector<true>(update);
492
24
            } else {
493
0
                for_each_with_selector<false>(update);
494
0
            }
495
24
        }
496
252
    }
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
115
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
115
        if (this->null_map != nullptr) {
472
70
            const auto& null_map_data = *(this->null_map);
473
70
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
70
                if (null_map_data[i]) {
475
70
                    null_func(self_index, executor_index);
476
70
                } else {
477
70
                    not_null_func(self_index, executor_index);
478
70
                }
479
70
            };
480
70
            if (is_const) {
481
2
                for_each_with_selector<true>(update);
482
68
            } else {
483
68
                for_each_with_selector<false>(update);
484
68
            }
485
70
        } else {
486
            // non-nullable condition column
487
45
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
45
                not_null_func(self_index, executor_index);
489
45
            };
490
45
            if (is_const) {
491
43
                for_each_with_selector<true>(update);
492
43
            } else {
493
2
                for_each_with_selector<false>(update);
494
2
            }
495
45
        }
496
115
    }
497
};
498
499
} // namespace doris