Coverage Report

Created: 2026-06-10 14:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/short_circuit_util.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include "core/block/column_with_type_and_name.h"
20
#include "core/column/column.h"
21
#include "core/column/column_const.h"
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_vector.h"
24
#include "core/field.h"
25
#include "exprs/vexpr.h"
26
27
namespace doris {
28
29
// Used to store a column along with its null_map and whether it is a const column.
30
// If the input column is not nullable, then null_map will be nullptr.
31
struct ColumnNullConstView {
32
    const IColumn& column;
33
    const NullMap* null_map;
34
    const bool is_const;
35
36
2.64k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
2.64k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
2.64k
        if (const auto* nullable_column =
40
2.64k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.49k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.49k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.49k
                                        .is_const = is_const};
44
1.49k
        } else {
45
1.15k
            return ColumnNullConstView {
46
1.15k
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
1.15k
        }
48
2.64k
    }
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
28.2k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
28.2k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
28.2k
        const NullMap* null_map = nullptr;
64
28.2k
        const ArrayType* data = nullptr;
65
28.2k
        if (const auto* nullable_column =
66
28.2k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
7.73k
            null_map = &nullable_column->get_null_map_data();
68
7.73k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
7.73k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
20.5k
        } else {
71
20.5k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
20.5k
        }
73
74
28.2k
        return ColumnNullConstViewScalar {
75
28.2k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
28.2k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
11.5k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
11.5k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
11.5k
        const NullMap* null_map = nullptr;
64
11.5k
        const ArrayType* data = nullptr;
65
11.5k
        if (const auto* nullable_column =
66
11.5k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
4.88k
            null_map = &nullable_column->get_null_map_data();
68
4.88k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
4.88k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6.69k
        } else {
71
6.69k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
6.69k
        }
73
74
11.5k
        return ColumnNullConstViewScalar {
75
11.5k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
11.5k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
13.5k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
13.5k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
13.5k
        const NullMap* null_map = nullptr;
64
13.5k
        const ArrayType* data = nullptr;
65
13.5k
        if (const auto* nullable_column =
66
13.5k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
363
            null_map = &nullable_column->get_null_map_data();
68
363
            const auto& nested_from_column = nullable_column->get_nested_column();
69
363
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
13.1k
        } else {
71
13.1k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
13.1k
        }
73
74
13.5k
        return ColumnNullConstViewScalar {
75
13.5k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
13.5k
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2.36k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2.36k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2.36k
        const NullMap* null_map = nullptr;
64
2.36k
        const ArrayType* data = nullptr;
65
2.36k
        if (const auto* nullable_column =
66
2.36k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
2.09k
            null_map = &nullable_column->get_null_map_data();
68
2.09k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
2.09k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2.09k
        } else {
71
277
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
277
        }
73
74
2.36k
        return ColumnNullConstViewScalar {
75
2.36k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2.36k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
258
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
258
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
258
        const NullMap* null_map = nullptr;
64
258
        const ArrayType* data = nullptr;
65
258
        if (const auto* nullable_column =
66
258
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
103
            null_map = &nullable_column->get_null_map_data();
68
103
            const auto& nested_from_column = nullable_column->get_nested_column();
69
103
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
155
        } else {
71
155
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
155
        }
73
74
258
        return ColumnNullConstViewScalar {
75
258
                .data = *data, .null_map = null_map, .is_const = is_const};
76
258
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
159
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
159
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
159
        const NullMap* null_map = nullptr;
64
159
        const ArrayType* data = nullptr;
65
159
        if (const auto* nullable_column =
66
159
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
118
            null_map = &nullable_column->get_null_map_data();
68
118
            const auto& nested_from_column = nullable_column->get_nested_column();
69
118
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
118
        } else {
71
41
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
41
        }
73
74
159
        return ColumnNullConstViewScalar {
75
159
                .data = *data, .null_map = null_map, .is_const = is_const};
76
159
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
32
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
32
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
32
        const NullMap* null_map = nullptr;
64
32
        const ArrayType* data = nullptr;
65
32
        if (const auto* nullable_column =
66
32
                    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
29
        } else {
71
3
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3
        }
73
74
32
        return ColumnNullConstViewScalar {
75
32
                .data = *data, .null_map = null_map, .is_const = is_const};
76
32
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
227
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
227
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
227
        const NullMap* null_map = nullptr;
64
227
        const ArrayType* data = nullptr;
65
227
        if (const auto* nullable_column =
66
227
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
81
            null_map = &nullable_column->get_null_map_data();
68
81
            const auto& nested_from_column = nullable_column->get_nested_column();
69
81
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
146
        } else {
71
146
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
146
        }
73
74
227
        return ColumnNullConstViewScalar {
75
227
                .data = *data, .null_map = null_map, .is_const = is_const};
76
227
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_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
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
38
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
38
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
38
        const NullMap* null_map = nullptr;
64
38
        const ArrayType* data = nullptr;
65
38
        if (const auto* nullable_column =
66
38
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
23
            null_map = &nullable_column->get_null_map_data();
68
23
            const auto& nested_from_column = nullable_column->get_nested_column();
69
23
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
23
        } else {
71
15
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
15
        }
73
74
38
        return ColumnNullConstViewScalar {
75
38
                .data = *data, .null_map = null_map, .is_const = is_const};
76
38
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
40
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
40
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
40
        const NullMap* null_map = nullptr;
64
40
        const ArrayType* data = nullptr;
65
40
        if (const auto* nullable_column =
66
40
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
39
            null_map = &nullable_column->get_null_map_data();
68
39
            const auto& nested_from_column = nullable_column->get_nested_column();
69
39
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
39
        } else {
71
1
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1
        }
73
74
40
        return ColumnNullConstViewScalar {
75
40
                .data = *data, .null_map = null_map, .is_const = is_const};
76
40
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4
        const NullMap* null_map = nullptr;
64
4
        const ArrayType* data = nullptr;
65
4
        if (const auto* nullable_column =
66
4
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
4
            null_map = &nullable_column->get_null_map_data();
68
4
            const auto& nested_from_column = nullable_column->get_nested_column();
69
4
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
4
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
4
        return ColumnNullConstViewScalar {
75
4
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4
    }
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
917
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
917
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
513
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
513
                                          .null_map = &nullable_column->get_null_map_data()};
88
513
        } else {
89
404
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
404
        }
91
917
    }
92
93
2.16k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
2.16k
        auto index = index_check_const(i, from.is_const);
95
2.16k
        column.insert_from(from.column, index);
96
2.16k
        if (null_map != nullptr && from.null_map != nullptr) {
97
1.20k
            null_map->push_back((*from.null_map)[index]);
98
1.20k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
76
            null_map->push_back(0);
101
76
        }
102
2.16k
    }
103
104
26
    void insert_null() {
105
26
        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
26
        column.insert_default();
111
26
        null_map->push_back(1);
112
26
    }
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
7.08k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
7.08k
        ColumnType* data_column = nullptr;
125
7.08k
        NullMap* null_map = nullptr;
126
7.08k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.57k
            null_map = &nullable_column->get_null_map_data();
128
1.57k
            auto& nested_column = nullable_column->get_nested_column();
129
1.57k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5.51k
        } else {
131
5.51k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5.51k
        }
133
134
7.08k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
7.08k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
177
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
177
        ColumnType* data_column = nullptr;
125
177
        NullMap* null_map = nullptr;
126
177
        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
177
        } else {
131
177
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
177
        }
133
134
177
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
177
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5.33k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5.33k
        ColumnType* data_column = nullptr;
125
5.33k
        NullMap* null_map = nullptr;
126
5.33k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
340
            null_map = &nullable_column->get_null_map_data();
128
340
            auto& nested_column = nullable_column->get_nested_column();
129
340
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
4.99k
        } else {
131
4.99k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
4.99k
        }
133
134
5.33k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5.33k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.18k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.18k
        ColumnType* data_column = nullptr;
125
1.18k
        NullMap* null_map = nullptr;
126
1.18k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.04k
            null_map = &nullable_column->get_null_map_data();
128
1.04k
            auto& nested_column = nullable_column->get_nested_column();
129
1.04k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.04k
        } else {
131
139
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
139
        }
133
134
1.18k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.18k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
130
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
130
        ColumnType* data_column = nullptr;
125
130
        NullMap* null_map = nullptr;
126
130
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
35
            null_map = &nullable_column->get_null_map_data();
128
35
            auto& nested_column = nullable_column->get_nested_column();
129
35
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
95
        } else {
131
95
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
95
        }
133
134
130
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
130
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
78
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
78
        ColumnType* data_column = nullptr;
125
78
        NullMap* null_map = nullptr;
126
78
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
53
            null_map = &nullable_column->get_null_map_data();
128
53
            auto& nested_column = nullable_column->get_nested_column();
129
53
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
53
        } else {
131
25
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
25
        }
133
134
78
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
78
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
18
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
18
        ColumnType* data_column = nullptr;
125
18
        NullMap* null_map = nullptr;
126
18
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
13
            null_map = &nullable_column->get_null_map_data();
128
13
            auto& nested_column = nullable_column->get_nested_column();
129
13
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
13
        } else {
131
5
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5
        }
133
134
18
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
18
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
115
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
115
        ColumnType* data_column = nullptr;
125
115
        NullMap* null_map = nullptr;
126
115
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
52
            null_map = &nullable_column->get_null_map_data();
128
52
            auto& nested_column = nullable_column->get_nested_column();
129
52
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
63
        } else {
131
63
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
63
        }
133
134
115
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
115
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
4
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
4
        ColumnType* data_column = nullptr;
125
4
        NullMap* null_map = nullptr;
126
4
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
4
            null_map = &nullable_column->get_null_map_data();
128
4
            auto& nested_column = nullable_column->get_nested_column();
129
4
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
4
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
4
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
18
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
18
        ColumnType* data_column = nullptr;
125
18
        NullMap* null_map = nullptr;
126
18
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
11
            null_map = &nullable_column->get_null_map_data();
128
11
            auto& nested_column = nullable_column->get_nested_column();
129
11
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
11
        } else {
131
7
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
7
        }
133
134
18
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
18
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
22
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
22
        ColumnType* data_column = nullptr;
125
22
        NullMap* null_map = nullptr;
126
22
        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
21
        } else {
131
1
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
1
        }
133
134
22
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
22
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_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
2
            null_map = &nullable_column->get_null_map_data();
128
2
            auto& nested_column = nullable_column->get_nested_column();
129
2
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
17.0k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
17.0k
        auto& result_data = data;
139
17.0k
        const auto& from_data = from.data;
140
141
17.0k
        auto* result_null_map_data = null_map;
142
17.0k
        const auto* from_null_map_data = from.null_map;
143
144
17.0k
        if (from.is_const) {
145
5.30k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5.30k
                                     from_null_map_data, selector);
147
11.7k
        } else {
148
11.7k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
11.7k
                                      from_null_map_data, selector);
150
11.7k
        }
151
17.0k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
354
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
354
        auto& result_data = data;
139
354
        const auto& from_data = from.data;
140
141
354
        auto* result_null_map_data = null_map;
142
354
        const auto* from_null_map_data = from.null_map;
143
144
354
        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
354
        } else {
148
354
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
354
                                      from_null_map_data, selector);
150
354
        }
151
354
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
13.5k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
13.5k
        auto& result_data = data;
139
13.5k
        const auto& from_data = from.data;
140
141
13.5k
        auto* result_null_map_data = null_map;
142
13.5k
        const auto* from_null_map_data = from.null_map;
143
144
13.5k
        if (from.is_const) {
145
4.66k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4.66k
                                     from_null_map_data, selector);
147
8.87k
        } else {
148
8.87k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
8.87k
                                      from_null_map_data, selector);
150
8.87k
        }
151
13.5k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2.36k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2.36k
        auto& result_data = data;
139
2.36k
        const auto& from_data = from.data;
140
141
2.36k
        auto* result_null_map_data = null_map;
142
2.36k
        const auto* from_null_map_data = from.null_map;
143
144
2.36k
        if (from.is_const) {
145
454
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
454
                                     from_null_map_data, selector);
147
1.90k
        } else {
148
1.90k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.90k
                                      from_null_map_data, selector);
150
1.90k
        }
151
2.36k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
258
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
258
        auto& result_data = data;
139
258
        const auto& from_data = from.data;
140
141
258
        auto* result_null_map_data = null_map;
142
258
        const auto* from_null_map_data = from.null_map;
143
144
258
        if (from.is_const) {
145
53
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
53
                                     from_null_map_data, selector);
147
205
        } else {
148
205
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
205
                                      from_null_map_data, selector);
150
205
        }
151
258
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
159
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
159
        auto& result_data = data;
139
159
        const auto& from_data = from.data;
140
141
159
        auto* result_null_map_data = null_map;
142
159
        const auto* from_null_map_data = from.null_map;
143
144
159
        if (from.is_const) {
145
27
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
27
                                     from_null_map_data, selector);
147
132
        } else {
148
132
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
132
                                      from_null_map_data, selector);
150
132
        }
151
159
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
32
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
32
        auto& result_data = data;
139
32
        const auto& from_data = from.data;
140
141
32
        auto* result_null_map_data = null_map;
142
32
        const auto* from_null_map_data = from.null_map;
143
144
32
        if (from.is_const) {
145
7
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
7
                                     from_null_map_data, selector);
147
25
        } else {
148
25
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
25
                                      from_null_map_data, selector);
150
25
        }
151
32
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
227
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
227
        auto& result_data = data;
139
227
        const auto& from_data = from.data;
140
141
227
        auto* result_null_map_data = null_map;
142
227
        const auto* from_null_map_data = from.null_map;
143
144
227
        if (from.is_const) {
145
87
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
87
                                     from_null_map_data, selector);
147
140
        } else {
148
140
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
140
                                      from_null_map_data, selector);
150
140
        }
151
227
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_35EEERKNS_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
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_11EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_25EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
38
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
38
        auto& result_data = data;
139
38
        const auto& from_data = from.data;
140
141
38
        auto* result_null_map_data = null_map;
142
38
        const auto* from_null_map_data = from.null_map;
143
144
38
        if (from.is_const) {
145
8
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
8
                                     from_null_map_data, selector);
147
30
        } else {
148
30
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
30
                                      from_null_map_data, selector);
150
30
        }
151
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
40
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
40
        auto& result_data = data;
139
40
        const auto& from_data = from.data;
140
141
40
        auto* result_null_map_data = null_map;
142
40
        const auto* from_null_map_data = from.null_map;
143
144
40
        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
40
        } else {
148
40
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
40
                                      from_null_map_data, selector);
150
40
        }
151
40
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
4
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
4
        auto& result_data = data;
139
4
        const auto& from_data = from.data;
140
141
4
        auto* result_null_map_data = null_map;
142
4
        const auto* from_null_map_data = from.null_map;
143
144
4
        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
2
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
2
                                      from_null_map_data, selector);
150
2
        }
151
4
    }
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
17.0k
                                   const Selector& selector) {
157
17.0k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
17.0k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2.62k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2.62k
        }
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
17.0k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
354
                                   const Selector& selector) {
157
354
        insert_with_selector<is_const>(result_data, from_data, selector);
158
354
        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
354
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4.66k
                                   const Selector& selector) {
157
4.66k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4.66k
        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
4.66k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
8.87k
                                   const Selector& selector) {
157
8.87k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
8.87k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
344
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
344
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
8.87k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
454
                                   const Selector& selector) {
157
454
        insert_with_selector<is_const>(result_data, from_data, selector);
158
454
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
401
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
401
        }
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
454
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.90k
                                   const Selector& selector) {
157
1.90k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.90k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.56k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.56k
        }
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.90k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
53
                                   const Selector& selector) {
157
53
        insert_with_selector<is_const>(result_data, from_data, selector);
158
53
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
10
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
10
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
53
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
205
                                   const Selector& selector) {
157
205
        insert_with_selector<is_const>(result_data, from_data, selector);
158
205
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
42
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
42
        }
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
205
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
27
                                   const Selector& selector) {
157
27
        insert_with_selector<is_const>(result_data, from_data, selector);
158
27
        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
27
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
132
                                   const Selector& selector) {
157
132
        insert_with_selector<is_const>(result_data, from_data, selector);
158
132
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
80
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
80
        }
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
132
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
7
                                   const Selector& selector) {
157
7
        insert_with_selector<is_const>(result_data, from_data, selector);
158
7
        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
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
25
                                   const Selector& selector) {
157
25
        insert_with_selector<is_const>(result_data, from_data, selector);
158
25
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
18
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
18
        }
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
25
    }
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
87
                                   const Selector& selector) {
157
87
        insert_with_selector<is_const>(result_data, from_data, selector);
158
87
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
18
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
18
        }
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
87
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
140
                                   const Selector& selector) {
157
140
        insert_with_selector<is_const>(result_data, from_data, selector);
158
140
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
60
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
60
        }
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
140
    }
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
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
8
                                   const Selector& selector) {
157
8
        insert_with_selector<is_const>(result_data, from_data, selector);
158
8
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
30
                                   const Selector& selector) {
157
30
        insert_with_selector<is_const>(result_data, from_data, selector);
158
30
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
16
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
16
        }
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
30
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
40
                                   const Selector& selector) {
157
40
        insert_with_selector<is_const>(result_data, from_data, selector);
158
40
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
38
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
38
        }
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
40
    }
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
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_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
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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_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
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
2
    }
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
19.6k
                                     const Selector& selector) {
169
10.1M
        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
19.6k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
354
                                     const Selector& selector) {
169
1.17k
        for (size_t i = 0; i < selector.size(); ++i) {
170
821
            auto index = selector[i];
171
821
            result_data[index] = data[index_check_const<is_const>(i)];
172
821
        }
173
354
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4.66k
                                     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
4.66k
    }
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
8.87k
                                     const Selector& selector) {
169
11.3k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.50k
            auto index = selector[i];
171
2.50k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.50k
        }
173
8.87k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
344
                                     const Selector& selector) {
169
2.10k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.76k
            auto index = selector[i];
171
1.76k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.76k
        }
173
344
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
454
                                     const Selector& selector) {
169
1.77k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.32k
            auto index = selector[i];
171
1.32k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.32k
        }
173
454
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
401
                                     const Selector& selector) {
169
1.63k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.23k
            auto index = selector[i];
171
1.23k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.23k
        }
173
401
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.90k
                                     const Selector& selector) {
169
4.99k
        for (size_t i = 0; i < selector.size(); ++i) {
170
3.08k
            auto index = selector[i];
171
3.08k
            result_data[index] = data[index_check_const<is_const>(i)];
172
3.08k
        }
173
1.90k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.56k
                                     const Selector& selector) {
169
3.75k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.18k
            auto index = selector[i];
171
2.18k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.18k
        }
173
1.56k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
53
                                     const Selector& selector) {
169
201
        for (size_t i = 0; i < selector.size(); ++i) {
170
148
            auto index = selector[i];
171
148
            result_data[index] = data[index_check_const<is_const>(i)];
172
148
        }
173
53
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
26
        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
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
205
                                     const Selector& selector) {
169
840
        for (size_t i = 0; i < selector.size(); ++i) {
170
635
            auto index = selector[i];
171
635
            result_data[index] = data[index_check_const<is_const>(i)];
172
635
        }
173
205
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
42
                                     const Selector& selector) {
169
81
        for (size_t i = 0; i < selector.size(); ++i) {
170
39
            auto index = selector[i];
171
39
            result_data[index] = data[index_check_const<is_const>(i)];
172
39
        }
173
42
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
27
                                     const Selector& selector) {
169
56
        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
27
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
19
        for (size_t i = 0; i < selector.size(); ++i) {
170
12
            auto index = selector[i];
171
12
            result_data[index] = data[index_check_const<is_const>(i)];
172
12
        }
173
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
132
                                     const Selector& selector) {
169
352
        for (size_t i = 0; i < selector.size(); ++i) {
170
220
            auto index = selector[i];
171
220
            result_data[index] = data[index_check_const<is_const>(i)];
172
220
        }
173
132
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
80
                                     const Selector& selector) {
169
261
        for (size_t i = 0; i < selector.size(); ++i) {
170
181
            auto index = selector[i];
171
181
            result_data[index] = data[index_check_const<is_const>(i)];
172
181
        }
173
80
    }
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
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
25
                                     const Selector& selector) {
169
44
        for (size_t i = 0; i < selector.size(); ++i) {
170
19
            auto index = selector[i];
171
19
            result_data[index] = data[index_check_const<is_const>(i)];
172
19
        }
173
25
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
18
                                     const Selector& selector) {
169
28
        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
18
    }
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
87
                                     const Selector& selector) {
169
19.4k
        for (size_t i = 0; i < selector.size(); ++i) {
170
19.4k
            auto index = selector[i];
171
19.4k
            result_data[index] = data[index_check_const<is_const>(i)];
172
19.4k
        }
173
87
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
18
                                     const Selector& selector) {
169
48
        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
18
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
140
                                     const Selector& selector) {
169
3.92k
        for (size_t i = 0; i < selector.size(); ++i) {
170
3.78k
            auto index = selector[i];
171
3.78k
            result_data[index] = data[index_check_const<is_const>(i)];
172
3.78k
        }
173
140
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
60
                                     const Selector& selector) {
169
150
        for (size_t i = 0; i < selector.size(); ++i) {
170
90
            auto index = selector[i];
171
90
            result_data[index] = data[index_check_const<is_const>(i)];
172
90
        }
173
60
    }
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
6
                                     const Selector& selector) {
169
10
        for (size_t i = 0; i < selector.size(); ++i) {
170
4
            auto index = selector[i];
171
4
            result_data[index] = data[index_check_const<is_const>(i)];
172
4
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
10
        for (size_t i = 0; i < selector.size(); ++i) {
170
4
            auto index = selector[i];
171
4
            result_data[index] = data[index_check_const<is_const>(i)];
172
4
        }
173
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
23
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
3
            auto index = selector[i];
171
3
            result_data[index] = data[index_check_const<is_const>(i)];
172
3
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
30
                                     const Selector& selector) {
169
65
        for (size_t i = 0; i < selector.size(); ++i) {
170
35
            auto index = selector[i];
171
35
            result_data[index] = data[index_check_const<is_const>(i)];
172
35
        }
173
30
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
16
                                     const Selector& selector) {
169
31
        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
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
40
                                     const Selector& selector) {
169
95
        for (size_t i = 0; i < selector.size(); ++i) {
170
55
            auto index = selector[i];
171
55
            result_data[index] = data[index_check_const<is_const>(i)];
172
55
        }
173
40
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
38
                                     const Selector& selector) {
169
92
        for (size_t i = 0; i < selector.size(); ++i) {
170
54
            auto index = selector[i];
171
54
            result_data[index] = data[index_check_const<is_const>(i)];
172
54
        }
173
38
    }
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
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
106
        for (size_t i = 0; i < selector.size(); ++i) {
170
104
            auto index = selector[i];
171
104
            result_data[index] = data[index_check_const<is_const>(i)];
172
104
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
106
        for (size_t i = 0; i < selector.size(); ++i) {
170
104
            auto index = selector[i];
171
104
            result_data[index] = data[index_check_const<is_const>(i)];
172
104
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
9.89k
        for (size_t i = 0; i < selector.size(); ++i) {
170
9.89k
            auto index = selector[i];
171
9.89k
            result_data[index] = data[index_check_const<is_const>(i)];
172
9.89k
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
9.89k
        for (size_t i = 0; i < selector.size(); ++i) {
170
9.89k
            auto index = selector[i];
171
9.89k
            result_data[index] = data[index_check_const<is_const>(i)];
172
9.89k
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
5
        auto& null_map_data = *null_map;
183
13
        for (size_t i = 0; i < selector.size(); ++i) {
184
8
            null_map_data[selector[i]] = 1;
185
8
        }
186
5
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
5
        auto& null_map_data = *null_map;
183
13
        for (size_t i = 0; i < selector.size(); ++i) {
184
8
            null_map_data[selector[i]] = 1;
185
8
        }
186
5
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
6.40k
    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
5.31k
                          const Selector& false_selector, size_t count) {
230
5.31k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
5.31k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
5.31k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
5.31k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
5.31k
        auto result_column = result_type->create_column();
236
237
5.31k
        MutableColumnNullViewScalar<PType> result_column_view =
238
5.31k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
5.31k
        init_result_column(result_column_view, count);
240
241
5.31k
        ColumnNullConstViewScalar<PType> true_column_view =
242
5.31k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
5.31k
        ColumnNullConstViewScalar<PType> false_column_view =
244
5.31k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
5.31k
        result_column_view.insert_from(true_column_view, true_selector);
247
5.31k
        result_column_view.insert_from(false_column_view, false_selector);
248
5.31k
        DCHECK_EQ(result_column->size(), count);
249
5.31k
        return result_column;
250
5.31k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
177
                          const Selector& false_selector, size_t count) {
230
177
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
177
        DCHECK_EQ(true_column->size(), true_selector.size());
232
177
        DCHECK_EQ(false_column->size(), false_selector.size());
233
177
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
177
        auto result_column = result_type->create_column();
236
237
177
        MutableColumnNullViewScalar<PType> result_column_view =
238
177
                MutableColumnNullViewScalar<PType>::create(result_column);
239
177
        init_result_column(result_column_view, count);
240
241
177
        ColumnNullConstViewScalar<PType> true_column_view =
242
177
                ColumnNullConstViewScalar<PType>::create(true_column);
243
177
        ColumnNullConstViewScalar<PType> false_column_view =
244
177
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
177
        result_column_view.insert_from(true_column_view, true_selector);
247
177
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
177
        return result_column;
250
177
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
3.67k
                          const Selector& false_selector, size_t count) {
230
3.67k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
3.67k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
3.67k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
3.67k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
3.67k
        auto result_column = result_type->create_column();
236
237
3.67k
        MutableColumnNullViewScalar<PType> result_column_view =
238
3.67k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
3.67k
        init_result_column(result_column_view, count);
240
241
3.67k
        ColumnNullConstViewScalar<PType> true_column_view =
242
3.67k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
3.67k
        ColumnNullConstViewScalar<PType> false_column_view =
244
3.67k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
3.67k
        result_column_view.insert_from(true_column_view, true_selector);
247
3.67k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
3.67k
        return result_column;
250
3.67k
    }
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
1.14k
                          const Selector& false_selector, size_t count) {
230
1.14k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1.14k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1.14k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1.14k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1.14k
        auto result_column = result_type->create_column();
236
237
1.14k
        MutableColumnNullViewScalar<PType> result_column_view =
238
1.14k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1.14k
        init_result_column(result_column_view, count);
240
241
1.14k
        ColumnNullConstViewScalar<PType> true_column_view =
242
1.14k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1.14k
        ColumnNullConstViewScalar<PType> false_column_view =
244
1.14k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1.14k
        result_column_view.insert_from(true_column_view, true_selector);
247
1.14k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1.14k
        return result_column;
250
1.14k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
102
                          const Selector& false_selector, size_t count) {
230
102
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
102
        DCHECK_EQ(true_column->size(), true_selector.size());
232
102
        DCHECK_EQ(false_column->size(), false_selector.size());
233
102
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
102
        auto result_column = result_type->create_column();
236
237
102
        MutableColumnNullViewScalar<PType> result_column_view =
238
102
                MutableColumnNullViewScalar<PType>::create(result_column);
239
102
        init_result_column(result_column_view, count);
240
241
102
        ColumnNullConstViewScalar<PType> true_column_view =
242
102
                ColumnNullConstViewScalar<PType>::create(true_column);
243
102
        ColumnNullConstViewScalar<PType> false_column_view =
244
102
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
102
        result_column_view.insert_from(true_column_view, true_selector);
247
102
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
102
        return result_column;
250
102
    }
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
57
                          const Selector& false_selector, size_t count) {
230
57
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
57
        DCHECK_EQ(true_column->size(), true_selector.size());
232
57
        DCHECK_EQ(false_column->size(), false_selector.size());
233
57
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
57
        auto result_column = result_type->create_column();
236
237
57
        MutableColumnNullViewScalar<PType> result_column_view =
238
57
                MutableColumnNullViewScalar<PType>::create(result_column);
239
57
        init_result_column(result_column_view, count);
240
241
57
        ColumnNullConstViewScalar<PType> true_column_view =
242
57
                ColumnNullConstViewScalar<PType>::create(true_column);
243
57
        ColumnNullConstViewScalar<PType> false_column_view =
244
57
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
57
        result_column_view.insert_from(true_column_view, true_selector);
247
57
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
57
        return result_column;
250
57
    }
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
14
                          const Selector& false_selector, size_t count) {
230
14
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
14
        DCHECK_EQ(true_column->size(), true_selector.size());
232
14
        DCHECK_EQ(false_column->size(), false_selector.size());
233
14
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
14
        auto result_column = result_type->create_column();
236
237
14
        MutableColumnNullViewScalar<PType> result_column_view =
238
14
                MutableColumnNullViewScalar<PType>::create(result_column);
239
14
        init_result_column(result_column_view, count);
240
241
14
        ColumnNullConstViewScalar<PType> true_column_view =
242
14
                ColumnNullConstViewScalar<PType>::create(true_column);
243
14
        ColumnNullConstViewScalar<PType> false_column_view =
244
14
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
14
        result_column_view.insert_from(true_column_view, true_selector);
247
14
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
14
        return result_column;
250
14
    }
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
111
                          const Selector& false_selector, size_t count) {
230
111
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
111
        DCHECK_EQ(true_column->size(), true_selector.size());
232
111
        DCHECK_EQ(false_column->size(), false_selector.size());
233
111
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
111
        auto result_column = result_type->create_column();
236
237
111
        MutableColumnNullViewScalar<PType> result_column_view =
238
111
                MutableColumnNullViewScalar<PType>::create(result_column);
239
111
        init_result_column(result_column_view, count);
240
241
111
        ColumnNullConstViewScalar<PType> true_column_view =
242
111
                ColumnNullConstViewScalar<PType>::create(true_column);
243
111
        ColumnNullConstViewScalar<PType> false_column_view =
244
111
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
111
        result_column_view.insert_from(true_column_view, true_selector);
247
111
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
111
        return result_column;
250
111
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2
                          const Selector& false_selector, size_t count) {
230
2
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2
        auto result_column = result_type->create_column();
236
237
2
        MutableColumnNullViewScalar<PType> result_column_view =
238
2
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2
        init_result_column(result_column_view, count);
240
241
2
        ColumnNullConstViewScalar<PType> true_column_view =
242
2
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2
        ColumnNullConstViewScalar<PType> false_column_view =
244
2
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2
        result_column_view.insert_from(true_column_view, true_selector);
247
2
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2
        return result_column;
250
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
16
                          const Selector& false_selector, size_t count) {
230
16
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
16
        DCHECK_EQ(true_column->size(), true_selector.size());
232
16
        DCHECK_EQ(false_column->size(), false_selector.size());
233
16
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
16
        auto result_column = result_type->create_column();
236
237
16
        MutableColumnNullViewScalar<PType> result_column_view =
238
16
                MutableColumnNullViewScalar<PType>::create(result_column);
239
16
        init_result_column(result_column_view, count);
240
241
16
        ColumnNullConstViewScalar<PType> true_column_view =
242
16
                ColumnNullConstViewScalar<PType>::create(true_column);
243
16
        ColumnNullConstViewScalar<PType> false_column_view =
244
16
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
16
        result_column_view.insert_from(true_column_view, true_selector);
247
16
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
16
        return result_column;
250
16
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
13
                          const Selector& false_selector, size_t count) {
230
13
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
13
        DCHECK_EQ(true_column->size(), true_selector.size());
232
13
        DCHECK_EQ(false_column->size(), false_selector.size());
233
13
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
13
        auto result_column = result_type->create_column();
236
237
13
        MutableColumnNullViewScalar<PType> result_column_view =
238
13
                MutableColumnNullViewScalar<PType>::create(result_column);
239
13
        init_result_column(result_column_view, count);
240
241
13
        ColumnNullConstViewScalar<PType> true_column_view =
242
13
                ColumnNullConstViewScalar<PType>::create(true_column);
243
13
        ColumnNullConstViewScalar<PType> false_column_view =
244
13
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
13
        result_column_view.insert_from(true_column_view, true_selector);
247
13
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
13
        return result_column;
250
13
    }
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
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_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_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
1.77k
                          size_t count) {
255
1.77k
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1.77k
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1.77k
                                             return sum + cs.selector.size();
258
1.77k
                                         }));
259
1.77k
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1.77k
        auto result_column = result_type->create_column();
261
262
1.77k
        MutableColumnNullViewScalar<PType> result_column_view =
263
1.77k
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1.77k
        init_result_column(result_column_view, count);
265
266
6.39k
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6.39k
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
6.39k
            } else {
270
6.39k
                ColumnNullConstViewScalar<PType> from_column_view =
271
6.39k
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6.39k
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6.39k
            }
274
6.39k
        }
275
1.77k
        DCHECK_EQ(result_column->size(), count);
276
1.77k
        return result_column;
277
1.77k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
1.66k
                          size_t count) {
255
1.66k
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1.66k
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1.66k
                                             return sum + cs.selector.size();
258
1.66k
                                         }));
259
1.66k
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1.66k
        auto result_column = result_type->create_column();
261
262
1.66k
        MutableColumnNullViewScalar<PType> result_column_view =
263
1.66k
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1.66k
        init_result_column(result_column_view, count);
265
266
6.18k
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6.18k
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
6.18k
            } else {
270
6.18k
                ColumnNullConstViewScalar<PType> from_column_view =
271
6.18k
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6.18k
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6.18k
            }
274
6.18k
        }
275
        DCHECK_EQ(result_column->size(), count);
276
1.66k
        return result_column;
277
1.66k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
39
                          size_t count) {
255
39
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
39
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
39
                                             return sum + cs.selector.size();
258
39
                                         }));
259
39
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
39
        auto result_column = result_type->create_column();
261
262
39
        MutableColumnNullViewScalar<PType> result_column_view =
263
39
                MutableColumnNullViewScalar<PType>::create(result_column);
264
39
        init_result_column(result_column_view, count);
265
266
79
        for (const auto& columns_and_selector : columns_and_selectors) {
267
79
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
75
            } else {
270
75
                ColumnNullConstViewScalar<PType> from_column_view =
271
75
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
75
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
75
            }
274
79
        }
275
        DCHECK_EQ(result_column->size(), count);
276
39
        return result_column;
277
39
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
28
                          size_t count) {
255
28
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
28
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
28
                                             return sum + cs.selector.size();
258
28
                                         }));
259
28
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
28
        auto result_column = result_type->create_column();
261
262
28
        MutableColumnNullViewScalar<PType> result_column_view =
263
28
                MutableColumnNullViewScalar<PType>::create(result_column);
264
28
        init_result_column(result_column_view, count);
265
266
54
        for (const auto& columns_and_selector : columns_and_selectors) {
267
54
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
54
            } else {
270
54
                ColumnNullConstViewScalar<PType> from_column_view =
271
54
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
54
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
54
            }
274
54
        }
275
        DCHECK_EQ(result_column->size(), count);
276
28
        return result_column;
277
28
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
21
                          size_t count) {
255
21
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
21
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
21
                                             return sum + cs.selector.size();
258
21
                                         }));
259
21
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
21
        auto result_column = result_type->create_column();
261
262
21
        MutableColumnNullViewScalar<PType> result_column_view =
263
21
                MutableColumnNullViewScalar<PType>::create(result_column);
264
21
        init_result_column(result_column_view, count);
265
266
45
        for (const auto& columns_and_selector : columns_and_selectors) {
267
45
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
45
            } else {
270
45
                ColumnNullConstViewScalar<PType> from_column_view =
271
45
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
45
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
45
            }
274
45
        }
275
        DCHECK_EQ(result_column->size(), count);
276
21
        return result_column;
277
21
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
4
                          size_t count) {
255
4
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
4
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
4
                                             return sum + cs.selector.size();
258
4
                                         }));
259
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
4
        auto result_column = result_type->create_column();
261
262
4
        MutableColumnNullViewScalar<PType> result_column_view =
263
4
                MutableColumnNullViewScalar<PType>::create(result_column);
264
4
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_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
5
        for (const auto& columns_and_selector : columns_and_selectors) {
267
5
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
5
            } else {
270
5
                ColumnNullConstViewScalar<PType> from_column_view =
271
5
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
5
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
5
            }
274
5
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_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
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
6
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
6
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_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
14
        for (const auto& columns_and_selector : columns_and_selectors) {
267
14
            if (columns_and_selector.output_nulls()) {
268
0
                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
14
        }
275
        DCHECK_EQ(result_column->size(), count);
276
9
        return result_column;
277
9
    }
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
7.08k
                                   size_t count) {
283
7.08k
        result_column_view.data.resize(count);
284
7.08k
        if (result_column_view.null_map != nullptr) {
285
1.57k
            result_column_view.null_map->resize_fill(count, 0);
286
1.57k
        }
287
7.08k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
177
                                   size_t count) {
283
177
        result_column_view.data.resize(count);
284
177
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
177
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
5.33k
                                   size_t count) {
283
5.33k
        result_column_view.data.resize(count);
284
5.33k
        if (result_column_view.null_map != nullptr) {
285
340
            result_column_view.null_map->resize_fill(count, 0);
286
340
        }
287
5.33k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
1.18k
                                   size_t count) {
283
1.18k
        result_column_view.data.resize(count);
284
1.18k
        if (result_column_view.null_map != nullptr) {
285
1.04k
            result_column_view.null_map->resize_fill(count, 0);
286
1.04k
        }
287
1.18k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
130
                                   size_t count) {
283
130
        result_column_view.data.resize(count);
284
130
        if (result_column_view.null_map != nullptr) {
285
35
            result_column_view.null_map->resize_fill(count, 0);
286
35
        }
287
130
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
77
                                   size_t count) {
283
77
        result_column_view.data.resize(count);
284
77
        if (result_column_view.null_map != nullptr) {
285
53
            result_column_view.null_map->resize_fill(count, 0);
286
53
        }
287
77
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
18
                                   size_t count) {
283
18
        result_column_view.data.resize(count);
284
18
        if (result_column_view.null_map != nullptr) {
285
13
            result_column_view.null_map->resize_fill(count, 0);
286
13
        }
287
18
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
115
                                   size_t count) {
283
115
        result_column_view.data.resize(count);
284
115
        if (result_column_view.null_map != nullptr) {
285
52
            result_column_view.null_map->resize_fill(count, 0);
286
52
        }
287
115
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_35EEEm
Line
Count
Source
282
4
                                   size_t count) {
283
4
        result_column_view.data.resize(count);
284
4
        if (result_column_view.null_map != nullptr) {
285
4
            result_column_view.null_map->resize_fill(count, 0);
286
4
        }
287
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_11EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_25EEEm
Line
Count
Source
282
18
                                   size_t count) {
283
18
        result_column_view.data.resize(count);
284
18
        if (result_column_view.null_map != nullptr) {
285
11
            result_column_view.null_map->resize_fill(count, 0);
286
11
        }
287
18
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
22
                                   size_t count) {
283
22
        result_column_view.data.resize(count);
284
22
        if (result_column_view.null_map != nullptr) {
285
21
            result_column_view.null_map->resize_fill(count, 0);
286
21
        }
287
22
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
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
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
2
    }
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
759
                          const Selector& false_selector, size_t count) {
296
759
        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
759
        DCHECK_EQ(true_column->size(), true_selector.size());
301
759
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
759
        auto result_column = result_type->create_column();
304
305
759
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
759
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
759
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
759
        size_t true_index = 0;
310
759
        size_t false_index = 0;
311
2.52k
        for (size_t i = 0; i < count; ++i) {
312
1.76k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
413
                result_column_view.insert_from(true_column_view, true_index++);
314
1.34k
            } else {
315
1.34k
                result_column_view.insert_from(false_column_view, false_index++);
316
1.34k
            }
317
1.76k
        }
318
319
759
        DCHECK_EQ(result_column->size(), count);
320
759
        return result_column;
321
759
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
154
                          size_t count) {
326
154
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
154
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
154
                                             return sum + cs.selector.size();
329
154
                                         }));
330
154
        struct FillColumnWithPos {
331
154
            std::optional<ColumnNullConstView> source_column;
332
154
            size_t pos_in_source; // position in the column
333
334
411
            void insert_to_column(MutableColumnNullView& result_column) const {
335
411
                if (!source_column) {
336
24
                    result_column.insert_null();
337
387
                } else {
338
387
                    result_column.insert_from(*source_column, pos_in_source);
339
387
                }
340
411
            }
341
154
        };
342
343
154
        auto mutable_result_column = result_type->create_column();
344
154
        mutable_result_column->reserve(count);
345
346
154
        MutableColumnNullView mutable_result_column_view =
347
154
                MutableColumnNullView::create(mutable_result_column);
348
349
154
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
397
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
397
            if (column_with_selector.selector.empty()) {
353
134
                continue;
354
134
            }
355
674
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
411
                size_t result_index = column_with_selector.selector[i];
357
411
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
411
                if (column_with_selector.column) {
360
387
                    ColumnNullConstView column_view =
361
387
                            ColumnNullConstView::create(column_with_selector.column);
362
387
                    fill_positions[result_index].source_column.emplace(column_view);
363
387
                    fill_positions[result_index].pos_in_source = i;
364
387
                } else {
365
24
                    fill_positions[result_index].source_column = std::nullopt;
366
24
                }
367
411
            }
368
263
        }
369
370
411
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
411
            fill_pos.insert_to_column(mutable_result_column_view);
372
411
        }
373
374
154
        DCHECK_EQ(mutable_result_column->size(), count);
375
154
        return mutable_result_column;
376
154
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
11.9k
            : _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
11.9k
    void for_each_with_selector(Func& f) const {
388
11.9k
        if (_selector != nullptr) {
389
4.91k
            const auto& selector_data = *_selector;
390
10.3k
            for (size_t i = 0; i < _count; ++i) {
391
5.46k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
5.46k
            }
393
7.03k
        } 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
7.03k
        }
398
11.9k
    }
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
25
    void for_each_with_selector(Func& f) const {
388
25
        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
23
        } else {
394
46
            for (size_t i = 0; i < _count; ++i) {
395
23
                f(index_check_const<is_const>(i), i, i);
396
23
            }
397
23
        }
398
25
    }
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
2.30k
    void for_each_with_selector(Func& f) const {
388
2.30k
        if (_selector != nullptr) {
389
749
            const auto& selector_data = *_selector;
390
1.55k
            for (size_t i = 0; i < _count; ++i) {
391
806
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
806
            }
393
1.55k
        } else {
394
14.2k
            for (size_t i = 0; i < _count; ++i) {
395
12.6k
                f(index_check_const<is_const>(i), i, i);
396
12.6k
            }
397
1.55k
        }
398
2.30k
    }
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
58
    void for_each_with_selector(Func& f) const {
388
58
        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
58
        } else {
394
265
            for (size_t i = 0; i < _count; ++i) {
395
207
                f(index_check_const<is_const>(i), i, i);
396
207
            }
397
58
        }
398
58
    }
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
3.17k
    void for_each_with_selector(Func& f) const {
388
3.17k
        if (_selector != nullptr) {
389
125
            const auto& selector_data = *_selector;
390
406
            for (size_t i = 0; i < _count; ++i) {
391
281
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
281
            }
393
3.04k
        } 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
3.04k
        }
398
3.17k
    }
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
6
    void for_each_with_selector(Func& f) const {
388
6
        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
6
        } else {
394
18
            for (size_t i = 0; i < _count; ++i) {
395
12
                f(index_check_const<is_const>(i), i, i);
396
12
            }
397
6
        }
398
6
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
87
    void for_each_with_selector(Func& f) const {
388
87
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
87
        } else {
394
360
            for (size_t i = 0; i < _count; ++i) {
395
273
                f(index_check_const<is_const>(i), i, i);
396
273
            }
397
87
        }
398
87
    }
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$_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_
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
1.69k
    void for_each_with_selector(Func& f) const {
388
1.69k
        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
1.68k
        } else {
394
3.44k
            for (size_t i = 0; i < _count; ++i) {
395
1.75k
                f(index_check_const<is_const>(i), i, i);
396
1.75k
            }
397
1.68k
        }
398
1.69k
    }
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
15
    void for_each_with_selector(Func& f) const {
388
15
        if (_selector != nullptr) {
389
15
            const auto& selector_data = *_selector;
390
40
            for (size_t i = 0; i < _count; ++i) {
391
25
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
25
            }
393
15
        } 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
15
    }
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
2.26k
    void for_each_with_selector(Func& f) const {
388
2.26k
        if (_selector != nullptr) {
389
2.26k
            const auto& selector_data = *_selector;
390
4.75k
            for (size_t i = 0; i < _count; ++i) {
391
2.48k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2.48k
            }
393
2.26k
        } 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.26k
    }
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
1.58k
    void for_each_with_selector(Func& f) const {
388
1.58k
        if (_selector != nullptr) {
389
1.58k
            const auto& selector_data = *_selector;
390
3.19k
            for (size_t i = 0; i < _count; ++i) {
391
1.60k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.60k
            }
393
1.58k
        } 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
1.58k
    }
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
504
    void for_each_with_selector(Func& f) const {
388
504
        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
463
        } else {
394
2.85k
            for (size_t i = 0; i < _count; ++i) {
395
2.39k
                f(index_check_const<is_const>(i), i, i);
396
2.39k
            }
397
463
        }
398
504
    }
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
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$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
125
    void for_each_with_selector(Func& f) const {
388
125
        if (_selector != nullptr) {
389
13
            const auto& selector_data = *_selector;
390
32
            for (size_t i = 0; i < _count; ++i) {
391
19
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
19
            }
393
112
        } else {
394
446
            for (size_t i = 0; i < _count; ++i) {
395
334
                f(index_check_const<is_const>(i), i, i);
396
334
            }
397
112
        }
398
125
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
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
40
    void for_each_with_selector(Func& f) const {
388
40
        if (_selector != nullptr) {
389
40
            const auto& selector_data = *_selector;
390
94
            for (size_t i = 0; i < _count; ++i) {
391
54
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
54
            }
393
40
        } 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
40
    }
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
46
    void for_each_with_selector(Func& f) const {
388
46
        if (_selector != nullptr) {
389
46
            const auto& selector_data = *_selector;
390
116
            for (size_t i = 0; i < _count; ++i) {
391
70
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
70
            }
393
46
        } 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
46
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
6
    void for_each_with_selector(Func& f) const {
388
6
        if (_selector != nullptr) {
389
6
            const auto& selector_data = *_selector;
390
12
            for (size_t i = 0; i < _count; ++i) {
391
6
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
6
            }
393
6
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
6
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
11.2k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
11.2k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
11.2k
                                      size_t count) {
415
11.2k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
11.2k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
11.2k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
11.2k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
11.2k
        if (this->null_map != nullptr) {
422
4.70k
            const auto& null_map_data = *(this->null_map);
423
16.3k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
16.3k
                if (null_map_data[i]) {
425
253
                    null_func(self_index, executor_index);
426
16.0k
                } else {
427
16.0k
                    if (this->data[i]) {
428
1.71k
                        true_func(self_index, executor_index);
429
14.3k
                    } else {
430
14.3k
                        false_func(self_index, executor_index);
431
14.3k
                    }
432
16.0k
                }
433
16.3k
            };
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
13.5k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
13.5k
                if (null_map_data[i]) {
425
160
                    null_func(self_index, executor_index);
426
13.3k
                } else {
427
13.3k
                    if (this->data[i]) {
428
1.02k
                        true_func(self_index, executor_index);
429
12.3k
                    } else {
430
12.3k
                        false_func(self_index, executor_index);
431
12.3k
                    }
432
13.3k
                }
433
13.5k
            };
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
285
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
285
                if (null_map_data[i]) {
425
48
                    null_func(self_index, executor_index);
426
237
                } else {
427
237
                    if (this->data[i]) {
428
95
                        true_func(self_index, executor_index);
429
142
                    } else {
430
142
                        false_func(self_index, executor_index);
431
142
                    }
432
237
                }
433
285
            };
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
2.50k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.50k
                if (null_map_data[i]) {
425
45
                    null_func(self_index, executor_index);
426
2.46k
                } else {
427
2.46k
                    if (this->data[i]) {
428
588
                        true_func(self_index, executor_index);
429
1.87k
                    } else {
430
1.87k
                        false_func(self_index, executor_index);
431
1.87k
                    }
432
2.46k
                }
433
2.50k
            };
434
4.70k
            if (is_const) {
435
46
                for_each_with_selector<true>(update);
436
4.66k
            } else {
437
4.66k
                for_each_with_selector<false>(update);
438
4.66k
            }
439
6.51k
        } 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
59.5k
                    false_func(self_index, executor_index);
446
59.5k
                }
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
56.5k
                    false_func(self_index, executor_index);
446
56.5k
                }
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.79k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.79k
                if (this->data[i]) {
443
112
                    true_func(self_index, executor_index);
444
1.68k
                } else {
445
1.68k
                    false_func(self_index, executor_index);
446
1.68k
                }
447
1.79k
            };
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.60k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.60k
                if (this->data[i]) {
443
323
                    true_func(self_index, executor_index);
444
1.28k
                } else {
445
1.28k
                    false_func(self_index, executor_index);
446
1.28k
                }
447
1.60k
            };
448
6.51k
            if (is_const) {
449
58
                for_each_with_selector<true>(update);
450
6.45k
            } else {
451
6.45k
                for_each_with_selector<false>(update);
452
6.45k
            }
453
6.51k
        }
454
11.2k
    }
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
5.55k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
5.55k
        if (this->null_map != nullptr) {
422
2.32k
            const auto& null_map_data = *(this->null_map);
423
2.32k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.32k
                if (null_map_data[i]) {
425
2.32k
                    null_func(self_index, executor_index);
426
2.32k
                } else {
427
2.32k
                    if (this->data[i]) {
428
2.32k
                        true_func(self_index, executor_index);
429
2.32k
                    } else {
430
2.32k
                        false_func(self_index, executor_index);
431
2.32k
                    }
432
2.32k
                }
433
2.32k
            };
434
2.32k
            if (is_const) {
435
25
                for_each_with_selector<true>(update);
436
2.30k
            } else {
437
2.30k
                for_each_with_selector<false>(update);
438
2.30k
            }
439
3.22k
        } else {
440
            // non-nullable condition column
441
3.22k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
3.22k
                if (this->data[i]) {
443
3.22k
                    true_func(self_index, executor_index);
444
3.22k
                } else {
445
3.22k
                    false_func(self_index, executor_index);
446
3.22k
                }
447
3.22k
            };
448
3.22k
            if (is_const) {
449
58
                for_each_with_selector<true>(update);
450
3.17k
            } else {
451
3.17k
                for_each_with_selector<false>(update);
452
3.17k
            }
453
3.22k
        }
454
5.55k
    }
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
1.79k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
1.79k
        if (this->null_map != nullptr) {
422
93
            const auto& null_map_data = *(this->null_map);
423
93
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
93
                if (null_map_data[i]) {
425
93
                    null_func(self_index, executor_index);
426
93
                } else {
427
93
                    if (this->data[i]) {
428
93
                        true_func(self_index, executor_index);
429
93
                    } else {
430
93
                        false_func(self_index, executor_index);
431
93
                    }
432
93
                }
433
93
            };
434
93
            if (is_const) {
435
6
                for_each_with_selector<true>(update);
436
87
            } else {
437
87
                for_each_with_selector<false>(update);
438
87
            }
439
1.69k
        } else {
440
            // non-nullable condition column
441
1.69k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.69k
                if (this->data[i]) {
443
1.69k
                    true_func(self_index, executor_index);
444
1.69k
                } else {
445
1.69k
                    false_func(self_index, executor_index);
446
1.69k
                }
447
1.69k
            };
448
1.69k
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
1.69k
            } else {
451
1.69k
                for_each_with_selector<false>(update);
452
1.69k
            }
453
1.69k
        }
454
1.79k
    }
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
3.87k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.87k
        if (this->null_map != nullptr) {
422
2.28k
            const auto& null_map_data = *(this->null_map);
423
2.28k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.28k
                if (null_map_data[i]) {
425
2.28k
                    null_func(self_index, executor_index);
426
2.28k
                } else {
427
2.28k
                    if (this->data[i]) {
428
2.28k
                        true_func(self_index, executor_index);
429
2.28k
                    } else {
430
2.28k
                        false_func(self_index, executor_index);
431
2.28k
                    }
432
2.28k
                }
433
2.28k
            };
434
2.28k
            if (is_const) {
435
15
                for_each_with_selector<true>(update);
436
2.26k
            } else {
437
2.26k
                for_each_with_selector<false>(update);
438
2.26k
            }
439
2.28k
        } else {
440
            // non-nullable condition column
441
1.58k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.58k
                if (this->data[i]) {
443
1.58k
                    true_func(self_index, executor_index);
444
1.58k
                } else {
445
1.58k
                    false_func(self_index, executor_index);
446
1.58k
                }
447
1.58k
            };
448
1.58k
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
1.58k
            } else {
451
1.58k
                for_each_with_selector<false>(update);
452
1.58k
            }
453
1.58k
        }
454
3.87k
    }
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
732
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
732
                                          size_t count) {
465
732
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
732
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
732
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
727
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
727
        if (this->null_map != nullptr) {
472
675
            const auto& null_map_data = *(this->null_map);
473
2.87k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
2.87k
                if (null_map_data[i]) {
475
279
                    null_func(self_index, executor_index);
476
2.60k
                } else {
477
2.60k
                    not_null_func(self_index, executor_index);
478
2.60k
                }
479
2.87k
            };
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
2.47k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
2.47k
                if (null_map_data[i]) {
475
147
                    null_func(self_index, executor_index);
476
2.32k
                } else {
477
2.32k
                    not_null_func(self_index, executor_index);
478
2.32k
                }
479
2.47k
            };
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
355
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
355
                if (null_map_data[i]) {
475
106
                    null_func(self_index, executor_index);
476
249
                } else {
477
249
                    not_null_func(self_index, executor_index);
478
249
                }
479
355
            };
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
54
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
54
                if (null_map_data[i]) {
475
26
                    null_func(self_index, executor_index);
476
28
                } else {
477
28
                    not_null_func(self_index, executor_index);
478
28
                }
479
54
            };
480
675
            if (is_const) {
481
6
                for_each_with_selector<true>(update);
482
669
            } else {
483
669
                for_each_with_selector<false>(update);
484
669
            }
485
675
        } else {
486
            // non-nullable condition column
487
76
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
76
                not_null_func(self_index, executor_index);
489
76
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
76
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
76
                not_null_func(self_index, executor_index);
489
76
            };
490
52
            if (is_const) {
491
46
                for_each_with_selector<true>(update);
492
46
            } else {
493
6
                for_each_with_selector<false>(update);
494
6
            }
495
52
        }
496
727
    }
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
508
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
508
        if (this->null_map != nullptr) {
472
508
            const auto& null_map_data = *(this->null_map);
473
508
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
508
                if (null_map_data[i]) {
475
508
                    null_func(self_index, executor_index);
476
508
                } else {
477
508
                    not_null_func(self_index, executor_index);
478
508
                }
479
508
            };
480
508
            if (is_const) {
481
4
                for_each_with_selector<true>(update);
482
504
            } else {
483
504
                for_each_with_selector<false>(update);
484
504
            }
485
508
        } 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
508
    }
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
127
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
127
        if (this->null_map != nullptr) {
472
127
            const auto& null_map_data = *(this->null_map);
473
127
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
127
                if (null_map_data[i]) {
475
127
                    null_func(self_index, executor_index);
476
127
                } else {
477
127
                    not_null_func(self_index, executor_index);
478
127
                }
479
127
            };
480
127
            if (is_const) {
481
2
                for_each_with_selector<true>(update);
482
125
            } else {
483
125
                for_each_with_selector<false>(update);
484
125
            }
485
127
        } 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
127
    }
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
92
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
92
        if (this->null_map != nullptr) {
472
40
            const auto& null_map_data = *(this->null_map);
473
40
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
40
                if (null_map_data[i]) {
475
40
                    null_func(self_index, executor_index);
476
40
                } else {
477
40
                    not_null_func(self_index, executor_index);
478
40
                }
479
40
            };
480
40
            if (is_const) {
481
0
                for_each_with_selector<true>(update);
482
40
            } else {
483
40
                for_each_with_selector<false>(update);
484
40
            }
485
52
        } else {
486
            // non-nullable condition column
487
52
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
52
                not_null_func(self_index, executor_index);
489
52
            };
490
52
            if (is_const) {
491
46
                for_each_with_selector<true>(update);
492
46
            } else {
493
6
                for_each_with_selector<false>(update);
494
6
            }
495
52
        }
496
92
    }
497
};
498
499
} // namespace doris