Coverage Report

Created: 2026-04-22 10:41

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/short_circuit_util.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include "core/block/column_with_type_and_name.h"
20
#include "core/column/column.h"
21
#include "core/column/column_const.h"
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_vector.h"
24
#include "core/field.h"
25
#include "exprs/vexpr.h"
26
27
namespace doris {
28
29
// Used to store a column along with its null_map and whether it is a const column.
30
// If the input column is not nullable, then null_map will be nullptr.
31
struct ColumnNullConstView {
32
    const IColumn& column;
33
    const NullMap* null_map;
34
    const bool is_const;
35
36
3.03k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
3.03k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
3.03k
        if (const auto* nullable_column =
40
3.03k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.09k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.09k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.09k
                                        .is_const = is_const};
44
1.93k
        } else {
45
1.93k
            return ColumnNullConstView {
46
1.93k
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
1.93k
        }
48
3.03k
    }
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
6.73k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
6.73k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
6.73k
        const NullMap* null_map = nullptr;
64
6.73k
        const ArrayType* data = nullptr;
65
6.73k
        if (const auto* nullable_column =
66
6.73k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
3.16k
            null_map = &nullable_column->get_null_map_data();
68
3.16k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
3.16k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.57k
        } else {
71
3.57k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.57k
        }
73
74
6.73k
        return ColumnNullConstViewScalar {
75
6.73k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
6.73k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2.61k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2.61k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2.61k
        const NullMap* null_map = nullptr;
64
2.61k
        const ArrayType* data = nullptr;
65
2.61k
        if (const auto* nullable_column =
66
2.61k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
682
            null_map = &nullable_column->get_null_map_data();
68
682
            const auto& nested_from_column = nullable_column->get_nested_column();
69
682
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
1.93k
        } else {
71
1.93k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1.93k
        }
73
74
2.61k
        return ColumnNullConstViewScalar {
75
2.61k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2.61k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
846
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
846
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
846
        const NullMap* null_map = nullptr;
64
846
        const ArrayType* data = nullptr;
65
846
        if (const auto* nullable_column =
66
846
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
58
            null_map = &nullable_column->get_null_map_data();
68
58
            const auto& nested_from_column = nullable_column->get_nested_column();
69
58
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
788
        } else {
71
788
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
788
        }
73
74
846
        return ColumnNullConstViewScalar {
75
846
                .data = *data, .null_map = null_map, .is_const = is_const};
76
846
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2.27k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2.27k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2.27k
        const NullMap* null_map = nullptr;
64
2.27k
        const ArrayType* data = nullptr;
65
2.27k
        if (const auto* nullable_column =
66
2.27k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
2.00k
            null_map = &nullable_column->get_null_map_data();
68
2.00k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
2.00k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2.00k
        } else {
71
269
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
269
        }
73
74
2.27k
        return ColumnNullConstViewScalar {
75
2.27k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2.27k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
244
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
244
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
244
        const NullMap* null_map = nullptr;
64
244
        const ArrayType* data = nullptr;
65
244
        if (const auto* nullable_column =
66
244
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
115
            null_map = &nullable_column->get_null_map_data();
68
115
            const auto& nested_from_column = nullable_column->get_nested_column();
69
115
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
129
        } else {
71
129
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
129
        }
73
74
244
        return ColumnNullConstViewScalar {
75
244
                .data = *data, .null_map = null_map, .is_const = is_const};
76
244
    }
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
163
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
163
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
163
        const NullMap* null_map = nullptr;
64
163
        const ArrayType* data = nullptr;
65
163
        if (const auto* nullable_column =
66
163
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
116
            null_map = &nullable_column->get_null_map_data();
68
116
            const auto& nested_from_column = nullable_column->get_nested_column();
69
116
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
116
        } else {
71
47
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
47
        }
73
74
163
        return ColumnNullConstViewScalar {
75
163
                .data = *data, .null_map = null_map, .is_const = is_const};
76
163
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
20
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
20
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
20
        const NullMap* null_map = nullptr;
64
20
        const ArrayType* data = nullptr;
65
20
        if (const auto* nullable_column =
66
20
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
20
            null_map = &nullable_column->get_null_map_data();
68
20
            const auto& nested_from_column = nullable_column->get_nested_column();
69
20
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
20
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
20
        return ColumnNullConstViewScalar {
75
20
                .data = *data, .null_map = null_map, .is_const = is_const};
76
20
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
131
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
131
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
131
        const NullMap* null_map = nullptr;
64
131
        const ArrayType* data = nullptr;
65
131
        if (const auto* nullable_column =
66
131
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
16
            null_map = &nullable_column->get_null_map_data();
68
16
            const auto& nested_from_column = nullable_column->get_nested_column();
69
16
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
115
        } else {
71
115
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
115
        }
73
74
131
        return ColumnNullConstViewScalar {
75
131
                .data = *data, .null_map = null_map, .is_const = is_const};
76
131
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
302
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
302
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
302
        const NullMap* null_map = nullptr;
64
302
        const ArrayType* data = nullptr;
65
302
        if (const auto* nullable_column =
66
302
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
74
            null_map = &nullable_column->get_null_map_data();
68
74
            const auto& nested_from_column = nullable_column->get_nested_column();
69
74
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
228
        } else {
71
228
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
228
        }
73
74
302
        return ColumnNullConstViewScalar {
75
302
                .data = *data, .null_map = null_map, .is_const = is_const};
76
302
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
11
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
11
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
11
        const NullMap* null_map = nullptr;
64
11
        const ArrayType* data = nullptr;
65
11
        if (const auto* nullable_column =
66
11
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
11
            null_map = &nullable_column->get_null_map_data();
68
11
            const auto& nested_from_column = nullable_column->get_nested_column();
69
11
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
11
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
11
        return ColumnNullConstViewScalar {
75
11
                .data = *data, .null_map = null_map, .is_const = is_const};
76
11
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
82
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
82
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
82
        const NullMap* null_map = nullptr;
64
82
        const ArrayType* data = nullptr;
65
82
        if (const auto* nullable_column =
66
82
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
26
            null_map = &nullable_column->get_null_map_data();
68
26
            const auto& nested_from_column = nullable_column->get_nested_column();
69
26
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
56
        } else {
71
56
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
56
        }
73
74
82
        return ColumnNullConstViewScalar {
75
82
                .data = *data, .null_map = null_map, .is_const = is_const};
76
82
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
30
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
30
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
30
        const NullMap* null_map = nullptr;
64
30
        const ArrayType* data = nullptr;
65
30
        if (const auto* nullable_column =
66
30
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
24
            null_map = &nullable_column->get_null_map_data();
68
24
            const auto& nested_from_column = nullable_column->get_nested_column();
69
24
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
24
        } else {
71
6
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
6
        }
73
74
30
        return ColumnNullConstViewScalar {
75
30
                .data = *data, .null_map = null_map, .is_const = is_const};
76
30
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
16
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
16
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
16
        const NullMap* null_map = nullptr;
64
16
        const ArrayType* data = nullptr;
65
16
        if (const auto* nullable_column =
66
16
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
16
            null_map = &nullable_column->get_null_map_data();
68
16
            const auto& nested_from_column = nullable_column->get_nested_column();
69
16
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
16
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
16
        return ColumnNullConstViewScalar {
75
16
                .data = *data, .null_map = null_map, .is_const = is_const};
76
16
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
830
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
830
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
398
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
398
                                          .null_map = &nullable_column->get_null_map_data()};
88
432
        } else {
89
432
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
432
        }
91
830
    }
92
93
2.51k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
2.51k
        auto index = index_check_const(i, from.is_const);
95
2.51k
        column.insert_from(from.column, index);
96
2.51k
        if (null_map != nullptr && from.null_map != nullptr) {
97
585
            null_map->push_back((*from.null_map)[index]);
98
1.93k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
1.02k
            null_map->push_back(0);
101
1.02k
        }
102
2.51k
    }
103
104
23
    void insert_null() {
105
23
        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
23
        column.insert_default();
111
23
        null_map->push_back(1);
112
23
    }
113
};
114
115
template <PrimitiveType PType>
116
struct MutableColumnNullViewScalar {
117
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
118
    using ArrayType = typename ColumnType::Container;
119
120
    ArrayType& data;
121
    NullMap* null_map;
122
123
2.09k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2.09k
        ColumnType* data_column = nullptr;
125
2.09k
        NullMap* null_map = nullptr;
126
2.09k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.21k
            null_map = &nullable_column->get_null_map_data();
128
1.21k
            auto& nested_column = nullable_column->get_nested_column();
129
1.21k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.21k
        } else {
131
872
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
872
        }
133
134
2.09k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2.09k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
6
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
6
        ColumnType* data_column = nullptr;
125
6
        NullMap* null_map = nullptr;
126
6
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
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
6
        } else {
131
6
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
6
        }
133
134
6
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
419
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
419
        ColumnType* data_column = nullptr;
125
419
        NullMap* null_map = nullptr;
126
419
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
34
            null_map = &nullable_column->get_null_map_data();
128
34
            auto& nested_column = nullable_column->get_nested_column();
129
34
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
385
        } else {
131
385
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
385
        }
133
134
419
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
419
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.14k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.14k
        ColumnType* data_column = nullptr;
125
1.14k
        NullMap* null_map = nullptr;
126
1.14k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
973
            null_map = &nullable_column->get_null_map_data();
128
973
            auto& nested_column = nullable_column->get_nested_column();
129
973
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
973
        } else {
131
170
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
170
        }
133
134
1.14k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.14k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
123
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
123
        ColumnType* data_column = nullptr;
125
123
        NullMap* null_map = nullptr;
126
123
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
48
            null_map = &nullable_column->get_null_map_data();
128
48
            auto& nested_column = nullable_column->get_nested_column();
129
48
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
75
        } else {
131
75
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
75
        }
133
134
123
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
123
    }
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
80
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
80
        ColumnType* data_column = nullptr;
125
80
        NullMap* null_map = nullptr;
126
80
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
71
            null_map = &nullable_column->get_null_map_data();
128
71
            auto& nested_column = nullable_column->get_nested_column();
129
71
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
71
        } else {
131
9
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
9
        }
133
134
80
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
80
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
83
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
83
        ColumnType* data_column = nullptr;
125
83
        NullMap* null_map = nullptr;
126
83
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
5
            null_map = &nullable_column->get_null_map_data();
128
5
            auto& nested_column = nullable_column->get_nested_column();
129
5
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
78
        } else {
131
78
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
78
        }
133
134
83
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
83
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
152
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
152
        ColumnType* data_column = nullptr;
125
152
        NullMap* null_map = nullptr;
126
152
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
44
            null_map = &nullable_column->get_null_map_data();
128
44
            auto& nested_column = nullable_column->get_nested_column();
129
44
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
108
        } else {
131
108
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
108
        }
133
134
152
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
152
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
6
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
6
        ColumnType* data_column = nullptr;
125
6
        NullMap* null_map = nullptr;
126
6
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
6
            null_map = &nullable_column->get_null_map_data();
128
6
            auto& nested_column = nullable_column->get_nested_column();
129
6
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
6
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
6
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
41
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
41
        ColumnType* data_column = nullptr;
125
41
        NullMap* null_map = nullptr;
126
41
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
12
            null_map = &nullable_column->get_null_map_data();
128
12
            auto& nested_column = nullable_column->get_nested_column();
129
12
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
29
        } else {
131
29
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
29
        }
133
134
41
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
41
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_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
6
            null_map = &nullable_column->get_null_map_data();
128
6
            auto& nested_column = nullable_column->get_nested_column();
129
6
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
12
        } else {
131
12
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
12
        }
133
134
18
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
18
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
4.12k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
4.12k
        auto& result_data = data;
139
4.12k
        const auto& from_data = from.data;
140
141
4.12k
        auto* result_null_map_data = null_map;
142
4.12k
        const auto* from_null_map_data = from.null_map;
143
144
4.12k
        if (from.is_const) {
145
1.15k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1.15k
                                     from_null_map_data, selector);
147
2.97k
        } else {
148
2.97k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
2.97k
                                      from_null_map_data, selector);
150
2.97k
        }
151
4.12k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
12
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
12
        auto& result_data = data;
139
12
        const auto& from_data = from.data;
140
141
12
        auto* result_null_map_data = null_map;
142
12
        const auto* from_null_map_data = from.null_map;
143
144
12
        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
12
        } else {
148
12
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12
                                      from_null_map_data, selector);
150
12
        }
151
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
846
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
846
        auto& result_data = data;
139
846
        const auto& from_data = from.data;
140
141
846
        auto* result_null_map_data = null_map;
142
846
        const auto* from_null_map_data = from.null_map;
143
144
846
        if (from.is_const) {
145
496
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
496
                                     from_null_map_data, selector);
147
496
        } else {
148
350
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
350
                                      from_null_map_data, selector);
150
350
        }
151
846
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2.27k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2.27k
        auto& result_data = data;
139
2.27k
        const auto& from_data = from.data;
140
141
2.27k
        auto* result_null_map_data = null_map;
142
2.27k
        const auto* from_null_map_data = from.null_map;
143
144
2.27k
        if (from.is_const) {
145
399
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
399
                                     from_null_map_data, selector);
147
1.87k
        } else {
148
1.87k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.87k
                                      from_null_map_data, selector);
150
1.87k
        }
151
2.27k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
244
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
244
        auto& result_data = data;
139
244
        const auto& from_data = from.data;
140
141
244
        auto* result_null_map_data = null_map;
142
244
        const auto* from_null_map_data = from.null_map;
143
144
244
        if (from.is_const) {
145
52
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
52
                                     from_null_map_data, selector);
147
192
        } else {
148
192
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
192
                                      from_null_map_data, selector);
150
192
        }
151
244
    }
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
163
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
163
        auto& result_data = data;
139
163
        const auto& from_data = from.data;
140
141
163
        auto* result_null_map_data = null_map;
142
163
        const auto* from_null_map_data = from.null_map;
143
144
163
        if (from.is_const) {
145
32
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
32
                                     from_null_map_data, selector);
147
131
        } else {
148
131
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
131
                                      from_null_map_data, selector);
150
131
        }
151
163
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
20
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
20
        auto& result_data = data;
139
20
        const auto& from_data = from.data;
140
141
20
        auto* result_null_map_data = null_map;
142
20
        const auto* from_null_map_data = from.null_map;
143
144
20
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
19
        } else {
148
19
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
19
                                      from_null_map_data, selector);
150
19
        }
151
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
131
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
131
        auto& result_data = data;
139
131
        const auto& from_data = from.data;
140
141
131
        auto* result_null_map_data = null_map;
142
131
        const auto* from_null_map_data = from.null_map;
143
144
131
        if (from.is_const) {
145
25
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
25
                                     from_null_map_data, selector);
147
106
        } else {
148
106
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
106
                                      from_null_map_data, selector);
150
106
        }
151
131
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
302
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
302
        auto& result_data = data;
139
302
        const auto& from_data = from.data;
140
141
302
        auto* result_null_map_data = null_map;
142
302
        const auto* from_null_map_data = from.null_map;
143
144
302
        if (from.is_const) {
145
128
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
128
                                     from_null_map_data, selector);
147
174
        } else {
148
174
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
174
                                      from_null_map_data, selector);
150
174
        }
151
302
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_35EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
11
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
11
        auto& result_data = data;
139
11
        const auto& from_data = from.data;
140
141
11
        auto* result_null_map_data = null_map;
142
11
        const auto* from_null_map_data = from.null_map;
143
144
11
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
11
        } else {
148
11
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
11
                                      from_null_map_data, selector);
150
11
        }
151
11
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_11EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_25EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
82
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
82
        auto& result_data = data;
139
82
        const auto& from_data = from.data;
140
141
82
        auto* result_null_map_data = null_map;
142
82
        const auto* from_null_map_data = from.null_map;
143
144
82
        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
75
        } else {
148
75
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
75
                                      from_null_map_data, selector);
150
75
        }
151
82
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
30
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
30
        auto& result_data = data;
139
30
        const auto& from_data = from.data;
140
141
30
        auto* result_null_map_data = null_map;
142
30
        const auto* from_null_map_data = from.null_map;
143
144
30
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
26
        } else {
148
26
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
26
                                      from_null_map_data, selector);
150
26
        }
151
30
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
16
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
16
        auto& result_data = data;
139
16
        const auto& from_data = from.data;
140
141
16
        auto* result_null_map_data = null_map;
142
16
        const auto* from_null_map_data = from.null_map;
143
144
16
        if (from.is_const) {
145
10
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
10
                                     from_null_map_data, selector);
147
10
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
4.12k
                                   const Selector& selector) {
157
4.12k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4.12k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2.25k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2.25k
        }
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.12k
    }
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
12
                                   const Selector& selector) {
157
12
        insert_with_selector<is_const>(result_data, from_data, selector);
158
12
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
496
                                   const Selector& selector) {
157
496
        insert_with_selector<is_const>(result_data, from_data, selector);
158
496
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
3
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
3
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
496
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
350
                                   const Selector& selector) {
157
350
        insert_with_selector<is_const>(result_data, from_data, selector);
158
350
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
36
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
36
        }
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
350
    }
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
399
                                   const Selector& selector) {
157
399
        insert_with_selector<is_const>(result_data, from_data, selector);
158
399
        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
399
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.87k
                                   const Selector& selector) {
157
1.87k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.87k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.53k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.53k
        }
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.87k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
52
                                   const Selector& selector) {
157
52
        insert_with_selector<is_const>(result_data, from_data, selector);
158
52
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
13
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
13
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
52
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
192
                                   const Selector& selector) {
157
192
        insert_with_selector<is_const>(result_data, from_data, selector);
158
192
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
64
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
64
        }
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
192
    }
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
32
                                   const Selector& selector) {
157
32
        insert_with_selector<is_const>(result_data, from_data, selector);
158
32
        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
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
131
                                   const Selector& selector) {
157
131
        insert_with_selector<is_const>(result_data, from_data, selector);
158
131
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
94
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
94
        }
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
131
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
1
                                   const Selector& selector) {
157
1
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
19
                                   const Selector& selector) {
157
19
        insert_with_selector<is_const>(result_data, from_data, selector);
158
19
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
19
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
19
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
19
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_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
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
25
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
106
                                   const Selector& selector) {
157
106
        insert_with_selector<is_const>(result_data, from_data, selector);
158
106
        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
106
    }
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
128
                                   const Selector& selector) {
157
128
        insert_with_selector<is_const>(result_data, from_data, selector);
158
128
        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
128
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
174
                                   const Selector& selector) {
157
174
        insert_with_selector<is_const>(result_data, from_data, selector);
158
174
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
56
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
56
        }
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
174
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
Line
Count
Source
156
11
                                   const Selector& selector) {
157
11
        insert_with_selector<is_const>(result_data, from_data, selector);
158
11
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
11
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
11
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
11
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
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
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
75
                                   const Selector& selector) {
157
75
        insert_with_selector<is_const>(result_data, from_data, selector);
158
75
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
20
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
20
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
75
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
4
                                   const Selector& selector) {
157
4
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
26
                                   const Selector& selector) {
157
26
        insert_with_selector<is_const>(result_data, from_data, selector);
158
26
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
26
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
10
                                   const Selector& selector) {
157
10
        insert_with_selector<is_const>(result_data, from_data, selector);
158
10
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
10
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
10
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
6.38k
                                     const Selector& selector) {
169
120k
        for (size_t i = 0; i < selector.size(); ++i) {
170
114k
            auto index = selector[i];
171
114k
            result_data[index] = data[index_check_const<is_const>(i)];
172
114k
        }
173
6.38k
    }
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
12
                                     const Selector& selector) {
169
18
        for (size_t i = 0; i < selector.size(); ++i) {
170
6
            auto index = selector[i];
171
6
            result_data[index] = data[index_check_const<is_const>(i)];
172
6
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
496
                                     const Selector& selector) {
169
66.6k
        for (size_t i = 0; i < selector.size(); ++i) {
170
66.1k
            auto index = selector[i];
171
66.1k
            result_data[index] = data[index_check_const<is_const>(i)];
172
66.1k
        }
173
496
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
6
        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
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
350
                                     const Selector& selector) {
169
442
        for (size_t i = 0; i < selector.size(); ++i) {
170
92
            auto index = selector[i];
171
92
            result_data[index] = data[index_check_const<is_const>(i)];
172
92
        }
173
350
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
36
                                     const Selector& selector) {
169
85
        for (size_t i = 0; i < selector.size(); ++i) {
170
49
            auto index = selector[i];
171
49
            result_data[index] = data[index_check_const<is_const>(i)];
172
49
        }
173
36
    }
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
399
                                     const Selector& selector) {
169
1.74k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.34k
            auto index = selector[i];
171
1.34k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.34k
        }
173
399
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
344
                                     const Selector& selector) {
169
1.59k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.24k
            auto index = selector[i];
171
1.24k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.24k
        }
173
344
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.87k
                                     const Selector& selector) {
169
4.93k
        for (size_t i = 0; i < selector.size(); ++i) {
170
3.06k
            auto index = selector[i];
171
3.06k
            result_data[index] = data[index_check_const<is_const>(i)];
172
3.06k
        }
173
1.87k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.53k
                                     const Selector& selector) {
169
3.56k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.03k
            auto index = selector[i];
171
2.03k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.03k
        }
173
1.53k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
52
                                     const Selector& selector) {
169
175
        for (size_t i = 0; i < selector.size(); ++i) {
170
123
            auto index = selector[i];
171
123
            result_data[index] = data[index_check_const<is_const>(i)];
172
123
        }
173
52
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
13
                                     const Selector& selector) {
169
29
        for (size_t i = 0; i < selector.size(); ++i) {
170
16
            auto index = selector[i];
171
16
            result_data[index] = data[index_check_const<is_const>(i)];
172
16
        }
173
13
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
192
                                     const Selector& selector) {
169
815
        for (size_t i = 0; i < selector.size(); ++i) {
170
623
            auto index = selector[i];
171
623
            result_data[index] = data[index_check_const<is_const>(i)];
172
623
        }
173
192
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
64
                                     const Selector& selector) {
169
125
        for (size_t i = 0; i < selector.size(); ++i) {
170
61
            auto index = selector[i];
171
61
            result_data[index] = data[index_check_const<is_const>(i)];
172
61
        }
173
64
    }
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
32
                                     const Selector& selector) {
169
62
        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
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
14
        for (size_t i = 0; i < selector.size(); ++i) {
170
7
            auto index = selector[i];
171
7
            result_data[index] = data[index_check_const<is_const>(i)];
172
7
        }
173
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
131
                                     const Selector& selector) {
169
8.24k
        for (size_t i = 0; i < selector.size(); ++i) {
170
8.11k
            auto index = selector[i];
171
8.11k
            result_data[index] = data[index_check_const<is_const>(i)];
172
8.11k
        }
173
131
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
94
                                     const Selector& selector) {
169
8.17k
        for (size_t i = 0; i < selector.size(); ++i) {
170
8.08k
            auto index = selector[i];
171
8.08k
            result_data[index] = data[index_check_const<is_const>(i)];
172
8.08k
        }
173
94
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
19
                                     const Selector& selector) {
169
49
        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
19
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
19
                                     const Selector& selector) {
169
49
        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
19
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
25
                                     const Selector& selector) {
169
52
        for (size_t i = 0; i < selector.size(); ++i) {
170
27
            auto index = selector[i];
171
27
            result_data[index] = data[index_check_const<is_const>(i)];
172
27
        }
173
25
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
106
                                     const Selector& selector) {
169
229
        for (size_t i = 0; i < selector.size(); ++i) {
170
123
            auto index = selector[i];
171
123
            result_data[index] = data[index_check_const<is_const>(i)];
172
123
        }
173
106
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
18
        for (size_t i = 0; i < selector.size(); ++i) {
170
11
            auto index = selector[i];
171
11
            result_data[index] = data[index_check_const<is_const>(i)];
172
11
        }
173
7
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
128
                                     const Selector& selector) {
169
19.3k
        for (size_t i = 0; i < selector.size(); ++i) {
170
19.2k
            auto index = selector[i];
171
19.2k
            result_data[index] = data[index_check_const<is_const>(i)];
172
19.2k
        }
173
128
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
16
                                     const Selector& selector) {
169
35
        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
16
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
174
                                     const Selector& selector) {
169
3.92k
        for (size_t i = 0; i < selector.size(); ++i) {
170
3.74k
            auto index = selector[i];
171
3.74k
            result_data[index] = data[index_check_const<is_const>(i)];
172
3.74k
        }
173
174
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
56
                                     const Selector& selector) {
169
122
        for (size_t i = 0; i < selector.size(); ++i) {
170
66
            auto index = selector[i];
171
66
            result_data[index] = data[index_check_const<is_const>(i)];
172
66
        }
173
56
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
11
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
14
            auto index = selector[i];
171
14
            result_data[index] = data[index_check_const<is_const>(i)];
172
14
        }
173
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
3
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
75
                                     const Selector& selector) {
169
156
        for (size_t i = 0; i < selector.size(); ++i) {
170
81
            auto index = selector[i];
171
81
            result_data[index] = data[index_check_const<is_const>(i)];
172
81
        }
173
75
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
20
                                     const Selector& selector) {
169
41
        for (size_t i = 0; i < selector.size(); ++i) {
170
21
            auto index = selector[i];
171
21
            result_data[index] = data[index_check_const<is_const>(i)];
172
21
        }
173
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
12
        for (size_t i = 0; i < selector.size(); ++i) {
170
8
            auto index = selector[i];
171
8
            result_data[index] = data[index_check_const<is_const>(i)];
172
8
        }
173
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_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
26
                                     const Selector& selector) {
169
60
        for (size_t i = 0; i < selector.size(); ++i) {
170
34
            auto index = selector[i];
171
34
            result_data[index] = data[index_check_const<is_const>(i)];
172
34
        }
173
26
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
35
        for (size_t i = 0; i < selector.size(); ++i) {
170
23
            auto index = selector[i];
171
23
            result_data[index] = data[index_check_const<is_const>(i)];
172
23
        }
173
12
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
5
        auto& null_map_data = *null_map;
183
13
        for (size_t i = 0; i < selector.size(); ++i) {
184
8
            null_map_data[selector[i]] = 1;
185
8
        }
186
5
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
5
        auto& null_map_data = *null_map;
183
13
        for (size_t i = 0; i < selector.size(); ++i) {
184
8
            null_map_data[selector[i]] = 1;
185
8
        }
186
5
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
382
    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
1.87k
                          const Selector& false_selector, size_t count) {
230
1.87k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1.87k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1.87k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1.87k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1.87k
        auto result_column = result_type->create_column();
236
237
1.87k
        MutableColumnNullViewScalar<PType> result_column_view =
238
1.87k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1.87k
        init_result_column(result_column_view, count);
240
241
1.87k
        ColumnNullConstViewScalar<PType> true_column_view =
242
1.87k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1.87k
        ColumnNullConstViewScalar<PType> false_column_view =
244
1.87k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1.87k
        result_column_view.insert_from(true_column_view, true_selector);
247
1.87k
        result_column_view.insert_from(false_column_view, false_selector);
248
1.87k
        DCHECK_EQ(result_column->size(), count);
249
1.87k
        return result_column;
250
1.87k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
6
                          const Selector& false_selector, size_t count) {
230
6
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6
        auto result_column = result_type->create_column();
236
237
6
        MutableColumnNullViewScalar<PType> result_column_view =
238
6
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6
        init_result_column(result_column_view, count);
240
241
6
        ColumnNullConstViewScalar<PType> true_column_view =
242
6
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6
        ColumnNullConstViewScalar<PType> false_column_view =
244
6
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6
        result_column_view.insert_from(true_column_view, true_selector);
247
6
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
6
        return result_column;
250
6
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
400
                          const Selector& false_selector, size_t count) {
230
400
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
400
        DCHECK_EQ(true_column->size(), true_selector.size());
232
400
        DCHECK_EQ(false_column->size(), false_selector.size());
233
400
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
400
        auto result_column = result_type->create_column();
236
237
400
        MutableColumnNullViewScalar<PType> result_column_view =
238
400
                MutableColumnNullViewScalar<PType>::create(result_column);
239
400
        init_result_column(result_column_view, count);
240
241
400
        ColumnNullConstViewScalar<PType> true_column_view =
242
400
                ColumnNullConstViewScalar<PType>::create(true_column);
243
400
        ColumnNullConstViewScalar<PType> false_column_view =
244
400
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
400
        result_column_view.insert_from(true_column_view, true_selector);
247
400
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
400
        return result_column;
250
400
    }
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.09k
                          const Selector& false_selector, size_t count) {
230
1.09k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1.09k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1.09k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1.09k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1.09k
        auto result_column = result_type->create_column();
236
237
1.09k
        MutableColumnNullViewScalar<PType> result_column_view =
238
1.09k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1.09k
        init_result_column(result_column_view, count);
240
241
1.09k
        ColumnNullConstViewScalar<PType> true_column_view =
242
1.09k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1.09k
        ColumnNullConstViewScalar<PType> false_column_view =
244
1.09k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1.09k
        result_column_view.insert_from(true_column_view, true_selector);
247
1.09k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1.09k
        return result_column;
250
1.09k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
94
                          const Selector& false_selector, size_t count) {
230
94
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
94
        DCHECK_EQ(true_column->size(), true_selector.size());
232
94
        DCHECK_EQ(false_column->size(), false_selector.size());
233
94
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
94
        auto result_column = result_type->create_column();
236
237
94
        MutableColumnNullViewScalar<PType> result_column_view =
238
94
                MutableColumnNullViewScalar<PType>::create(result_column);
239
94
        init_result_column(result_column_view, count);
240
241
94
        ColumnNullConstViewScalar<PType> true_column_view =
242
94
                ColumnNullConstViewScalar<PType>::create(true_column);
243
94
        ColumnNullConstViewScalar<PType> false_column_view =
244
94
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
94
        result_column_view.insert_from(true_column_view, true_selector);
247
94
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
94
        return result_column;
250
94
    }
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
62
                          const Selector& false_selector, size_t count) {
230
62
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
62
        DCHECK_EQ(true_column->size(), true_selector.size());
232
62
        DCHECK_EQ(false_column->size(), false_selector.size());
233
62
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
62
        auto result_column = result_type->create_column();
236
237
62
        MutableColumnNullViewScalar<PType> result_column_view =
238
62
                MutableColumnNullViewScalar<PType>::create(result_column);
239
62
        init_result_column(result_column_view, count);
240
241
62
        ColumnNullConstViewScalar<PType> true_column_view =
242
62
                ColumnNullConstViewScalar<PType>::create(true_column);
243
62
        ColumnNullConstViewScalar<PType> false_column_view =
244
62
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
62
        result_column_view.insert_from(true_column_view, true_selector);
247
62
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
62
        return result_column;
250
62
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
10
                          const Selector& false_selector, size_t count) {
230
10
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
10
        DCHECK_EQ(true_column->size(), true_selector.size());
232
10
        DCHECK_EQ(false_column->size(), false_selector.size());
233
10
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
10
        auto result_column = result_type->create_column();
236
237
10
        MutableColumnNullViewScalar<PType> result_column_view =
238
10
                MutableColumnNullViewScalar<PType>::create(result_column);
239
10
        init_result_column(result_column_view, count);
240
241
10
        ColumnNullConstViewScalar<PType> true_column_view =
242
10
                ColumnNullConstViewScalar<PType>::create(true_column);
243
10
        ColumnNullConstViewScalar<PType> false_column_view =
244
10
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
10
        result_column_view.insert_from(true_column_view, true_selector);
247
10
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
10
        return result_column;
250
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
8
                          const Selector& false_selector, size_t count) {
230
8
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
8
        DCHECK_EQ(true_column->size(), true_selector.size());
232
8
        DCHECK_EQ(false_column->size(), false_selector.size());
233
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
8
        auto result_column = result_type->create_column();
236
237
8
        MutableColumnNullViewScalar<PType> result_column_view =
238
8
                MutableColumnNullViewScalar<PType>::create(result_column);
239
8
        init_result_column(result_column_view, count);
240
241
8
        ColumnNullConstViewScalar<PType> true_column_view =
242
8
                ColumnNullConstViewScalar<PType>::create(true_column);
243
8
        ColumnNullConstViewScalar<PType> false_column_view =
244
8
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
8
        result_column_view.insert_from(true_column_view, true_selector);
247
8
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
8
        return result_column;
250
8
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
149
                          const Selector& false_selector, size_t count) {
230
149
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
149
        DCHECK_EQ(true_column->size(), true_selector.size());
232
149
        DCHECK_EQ(false_column->size(), false_selector.size());
233
149
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
149
        auto result_column = result_type->create_column();
236
237
149
        MutableColumnNullViewScalar<PType> result_column_view =
238
149
                MutableColumnNullViewScalar<PType>::create(result_column);
239
149
        init_result_column(result_column_view, count);
240
241
149
        ColumnNullConstViewScalar<PType> true_column_view =
242
149
                ColumnNullConstViewScalar<PType>::create(true_column);
243
149
        ColumnNullConstViewScalar<PType> false_column_view =
244
149
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
149
        result_column_view.insert_from(true_column_view, true_selector);
247
149
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
149
        return result_column;
250
149
    }
_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
39
                          const Selector& false_selector, size_t count) {
230
39
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
39
        DCHECK_EQ(true_column->size(), true_selector.size());
232
39
        DCHECK_EQ(false_column->size(), false_selector.size());
233
39
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
39
        auto result_column = result_type->create_column();
236
237
39
        MutableColumnNullViewScalar<PType> result_column_view =
238
39
                MutableColumnNullViewScalar<PType>::create(result_column);
239
39
        init_result_column(result_column_view, count);
240
241
39
        ColumnNullConstViewScalar<PType> true_column_view =
242
39
                ColumnNullConstViewScalar<PType>::create(true_column);
243
39
        ColumnNullConstViewScalar<PType> false_column_view =
244
39
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
39
        result_column_view.insert_from(true_column_view, true_selector);
247
39
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
39
        return result_column;
250
39
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
9
                          const Selector& false_selector, size_t count) {
230
9
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
9
        DCHECK_EQ(true_column->size(), true_selector.size());
232
9
        DCHECK_EQ(false_column->size(), false_selector.size());
233
9
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
9
        auto result_column = result_type->create_column();
236
237
9
        MutableColumnNullViewScalar<PType> result_column_view =
238
9
                MutableColumnNullViewScalar<PType>::create(result_column);
239
9
        init_result_column(result_column_view, count);
240
241
9
        ColumnNullConstViewScalar<PType> true_column_view =
242
9
                ColumnNullConstViewScalar<PType>::create(true_column);
243
9
        ColumnNullConstViewScalar<PType> false_column_view =
244
9
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
9
        result_column_view.insert_from(true_column_view, true_selector);
247
9
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
9
        return result_column;
250
9
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
6
                          const Selector& false_selector, size_t count) {
230
6
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6
        auto result_column = result_type->create_column();
236
237
6
        MutableColumnNullViewScalar<PType> result_column_view =
238
6
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6
        init_result_column(result_column_view, count);
240
241
6
        ColumnNullConstViewScalar<PType> true_column_view =
242
6
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6
        ColumnNullConstViewScalar<PType> false_column_view =
244
6
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6
        result_column_view.insert_from(true_column_view, true_selector);
247
6
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
6
        return result_column;
250
6
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
211
                          size_t count) {
255
211
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
211
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
211
                                             return sum + cs.selector.size();
258
211
                                         }));
259
211
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
211
        auto result_column = result_type->create_column();
261
262
211
        MutableColumnNullViewScalar<PType> result_column_view =
263
211
                MutableColumnNullViewScalar<PType>::create(result_column);
264
211
        init_result_column(result_column_view, count);
265
266
377
        for (const auto& columns_and_selector : columns_and_selectors) {
267
377
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
373
            } else {
270
373
                ColumnNullConstViewScalar<PType> from_column_view =
271
373
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
373
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
373
            }
274
377
        }
275
211
        DCHECK_EQ(result_column->size(), count);
276
211
        return result_column;
277
211
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
19
                          size_t count) {
255
19
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
19
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
19
                                             return sum + cs.selector.size();
258
19
                                         }));
259
19
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
19
        auto result_column = result_type->create_column();
261
262
19
        MutableColumnNullViewScalar<PType> result_column_view =
263
19
                MutableColumnNullViewScalar<PType>::create(result_column);
264
19
        init_result_column(result_column_view, count);
265
266
46
        for (const auto& columns_and_selector : columns_and_selectors) {
267
46
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
46
            } else {
270
46
                ColumnNullConstViewScalar<PType> from_column_view =
271
46
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
46
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
46
            }
274
46
        }
275
        DCHECK_EQ(result_column->size(), count);
276
19
        return result_column;
277
19
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
48
                          size_t count) {
255
48
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
48
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
48
                                             return sum + cs.selector.size();
258
48
                                         }));
259
48
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
48
        auto result_column = result_type->create_column();
261
262
48
        MutableColumnNullViewScalar<PType> result_column_view =
263
48
                MutableColumnNullViewScalar<PType>::create(result_column);
264
48
        init_result_column(result_column_view, count);
265
266
90
        for (const auto& columns_and_selector : columns_and_selectors) {
267
90
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
86
            } else {
270
86
                ColumnNullConstViewScalar<PType> from_column_view =
271
86
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
86
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
86
            }
274
90
        }
275
        DCHECK_EQ(result_column->size(), count);
276
48
        return result_column;
277
48
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
29
                          size_t count) {
255
29
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
29
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
29
                                             return sum + cs.selector.size();
258
29
                                         }));
259
29
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
29
        auto result_column = result_type->create_column();
261
262
29
        MutableColumnNullViewScalar<PType> result_column_view =
263
29
                MutableColumnNullViewScalar<PType>::create(result_column);
264
29
        init_result_column(result_column_view, count);
265
266
56
        for (const auto& columns_and_selector : columns_and_selectors) {
267
56
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
56
            } else {
270
56
                ColumnNullConstViewScalar<PType> from_column_view =
271
56
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
56
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
56
            }
274
56
        }
275
        DCHECK_EQ(result_column->size(), count);
276
29
        return result_column;
277
29
    }
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
18
                          size_t count) {
255
18
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
18
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
18
                                             return sum + cs.selector.size();
258
18
                                         }));
259
18
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
18
        auto result_column = result_type->create_column();
261
262
18
        MutableColumnNullViewScalar<PType> result_column_view =
263
18
                MutableColumnNullViewScalar<PType>::create(result_column);
264
18
        init_result_column(result_column_view, count);
265
266
39
        for (const auto& columns_and_selector : columns_and_selectors) {
267
39
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
39
            } else {
270
39
                ColumnNullConstViewScalar<PType> from_column_view =
271
39
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
39
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
39
            }
274
39
        }
275
        DCHECK_EQ(result_column->size(), count);
276
18
        return result_column;
277
18
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
75
                          size_t count) {
255
75
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
75
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
75
                                             return sum + cs.selector.size();
258
75
                                         }));
259
75
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
75
        auto result_column = result_type->create_column();
261
262
75
        MutableColumnNullViewScalar<PType> result_column_view =
263
75
                MutableColumnNullViewScalar<PType>::create(result_column);
264
75
        init_result_column(result_column_view, count);
265
266
115
        for (const auto& columns_and_selector : columns_and_selectors) {
267
115
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
115
            } else {
270
115
                ColumnNullConstViewScalar<PType> from_column_view =
271
115
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
115
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
115
            }
274
115
        }
275
        DCHECK_EQ(result_column->size(), count);
276
75
        return result_column;
277
75
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
3
                          size_t count) {
255
3
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
3
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
3
                                             return sum + cs.selector.size();
258
3
                                         }));
259
3
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
3
        auto result_column = result_type->create_column();
261
262
3
        MutableColumnNullViewScalar<PType> result_column_view =
263
3
                MutableColumnNullViewScalar<PType>::create(result_column);
264
3
        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
3
        return result_column;
277
3
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
4
                          size_t count) {
255
4
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
4
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
4
                                             return sum + cs.selector.size();
258
4
                                         }));
259
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
4
        auto result_column = result_type->create_column();
261
262
4
        MutableColumnNullViewScalar<PType> result_column_view =
263
4
                MutableColumnNullViewScalar<PType>::create(result_column);
264
4
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
7
            } else {
270
7
                ColumnNullConstViewScalar<PType> from_column_view =
271
7
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
7
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
7
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
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
12
        for (const auto& columns_and_selector : columns_and_selectors) {
267
12
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
12
        }
275
        DCHECK_EQ(result_column->size(), count);
276
9
        return result_column;
277
9
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
4
                          size_t count) {
255
4
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
4
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
4
                                             return sum + cs.selector.size();
258
4
                                         }));
259
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
4
        auto result_column = result_type->create_column();
261
262
4
        MutableColumnNullViewScalar<PType> result_column_view =
263
4
                MutableColumnNullViewScalar<PType>::create(result_column);
264
4
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
278
279
private:
280
    // if result_column is nullable,nullmap will all init to false
281
    static void init_result_column(MutableColumnNullViewScalar<PType>& result_column_view,
282
2.08k
                                   size_t count) {
283
2.08k
        result_column_view.data.resize(count);
284
2.08k
        if (result_column_view.null_map != nullptr) {
285
1.21k
            result_column_view.null_map->resize_fill(count, 0);
286
1.21k
        }
287
2.08k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
6
                                   size_t count) {
283
6
        result_column_view.data.resize(count);
284
6
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
6
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
419
                                   size_t count) {
283
419
        result_column_view.data.resize(count);
284
419
        if (result_column_view.null_map != nullptr) {
285
34
            result_column_view.null_map->resize_fill(count, 0);
286
34
        }
287
419
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
1.13k
                                   size_t count) {
283
1.13k
        result_column_view.data.resize(count);
284
1.13k
        if (result_column_view.null_map != nullptr) {
285
971
            result_column_view.null_map->resize_fill(count, 0);
286
971
        }
287
1.13k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
123
                                   size_t count) {
283
123
        result_column_view.data.resize(count);
284
123
        if (result_column_view.null_map != nullptr) {
285
48
            result_column_view.null_map->resize_fill(count, 0);
286
48
        }
287
123
    }
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
80
                                   size_t count) {
283
80
        result_column_view.data.resize(count);
284
80
        if (result_column_view.null_map != nullptr) {
285
71
            result_column_view.null_map->resize_fill(count, 0);
286
71
        }
287
80
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
83
                                   size_t count) {
283
83
        result_column_view.data.resize(count);
284
83
        if (result_column_view.null_map != nullptr) {
285
5
            result_column_view.null_map->resize_fill(count, 0);
286
5
        }
287
83
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
152
                                   size_t count) {
283
152
        result_column_view.data.resize(count);
284
152
        if (result_column_view.null_map != nullptr) {
285
44
            result_column_view.null_map->resize_fill(count, 0);
286
44
        }
287
152
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_35EEEm
Line
Count
Source
282
6
                                   size_t count) {
283
6
        result_column_view.data.resize(count);
284
6
        if (result_column_view.null_map != nullptr) {
285
6
            result_column_view.null_map->resize_fill(count, 0);
286
6
        }
287
6
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_11EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_25EEEm
Line
Count
Source
282
41
                                   size_t count) {
283
41
        result_column_view.data.resize(count);
284
41
        if (result_column_view.null_map != nullptr) {
285
12
            result_column_view.null_map->resize_fill(count, 0);
286
12
        }
287
41
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
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
6
            result_column_view.null_map->resize_fill(count, 0);
286
6
        }
287
18
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
560
                          const Selector& false_selector, size_t count) {
296
560
        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
560
        DCHECK_EQ(true_column->size(), true_selector.size());
301
560
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
560
        auto result_column = result_type->create_column();
304
305
560
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
560
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
560
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
560
        size_t true_index = 0;
310
560
        size_t false_index = 0;
311
1.75k
        for (size_t i = 0; i < count; ++i) {
312
1.19k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
388
                result_column_view.insert_from(true_column_view, true_index++);
314
807
            } else {
315
807
                result_column_view.insert_from(false_column_view, false_index++);
316
807
            }
317
1.19k
        }
318
319
560
        DCHECK_EQ(result_column->size(), count);
320
560
        return result_column;
321
560
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
265
                          size_t count) {
326
265
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
265
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
265
                                             return sum + cs.selector.size();
329
265
                                         }));
330
265
        struct FillColumnWithPos {
331
265
            std::optional<ColumnNullConstView> source_column;
332
265
            size_t pos_in_source; // position in the column
333
334
1.33k
            void insert_to_column(MutableColumnNullView& result_column) const {
335
1.33k
                if (!source_column) {
336
21
                    result_column.insert_null();
337
1.31k
                } else {
338
1.31k
                    result_column.insert_from(*source_column, pos_in_source);
339
1.31k
                }
340
1.33k
            }
341
265
        };
342
343
265
        auto mutable_result_column = result_type->create_column();
344
265
        mutable_result_column->reserve(count);
345
346
265
        MutableColumnNullView mutable_result_column_view =
347
265
                MutableColumnNullView::create(mutable_result_column);
348
349
265
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
473
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
473
            if (column_with_selector.selector.empty()) {
353
110
                continue;
354
110
            }
355
1.69k
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
1.33k
                size_t result_index = column_with_selector.selector[i];
357
1.33k
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
1.33k
                if (column_with_selector.column) {
360
1.31k
                    ColumnNullConstView column_view =
361
1.31k
                            ColumnNullConstView::create(column_with_selector.column);
362
1.31k
                    fill_positions[result_index].source_column.emplace(column_view);
363
1.31k
                    fill_positions[result_index].pos_in_source = i;
364
1.31k
                } else {
365
21
                    fill_positions[result_index].source_column = std::nullopt;
366
21
                }
367
1.33k
            }
368
363
        }
369
370
1.33k
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
1.33k
            fill_pos.insert_to_column(mutable_result_column_view);
372
1.33k
        }
373
374
265
        DCHECK_EQ(mutable_result_column->size(), count);
375
265
        return mutable_result_column;
376
265
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
3.19k
            : _selector(selector), _count(count) {}
382
383
    // Iterate over the condition column and generate true_selector and false_selector
384
    // based on null_map and data.
385
386
    template <bool is_const, typename Func>
387
3.18k
    void for_each_with_selector(Func& f) const {
388
3.18k
        if (_selector != nullptr) {
389
538
            const auto& selector_data = *_selector;
390
1.57k
            for (size_t i = 0; i < _count; ++i) {
391
1.03k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.03k
            }
393
2.64k
        } else {
394
107k
            for (size_t i = 0; i < _count; ++i) {
395
104k
                f(index_check_const<is_const>(i), i, i);
396
104k
            }
397
2.64k
        }
398
3.18k
    }
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
27
    void for_each_with_selector(Func& f) const {
388
27
        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
25
        } else {
394
53
            for (size_t i = 0; i < _count; ++i) {
395
28
                f(index_check_const<is_const>(i), i, i);
396
28
            }
397
25
        }
398
27
    }
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
366
    void for_each_with_selector(Func& f) const {
388
366
        if (_selector != nullptr) {
389
49
            const auto& selector_data = *_selector;
390
154
            for (size_t i = 0; i < _count; ++i) {
391
105
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
105
            }
393
317
        } else {
394
7.93k
            for (size_t i = 0; i < _count; ++i) {
395
7.62k
                f(index_check_const<is_const>(i), i, i);
396
7.62k
            }
397
317
        }
398
366
    }
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
108
    void for_each_with_selector(Func& f) const {
388
108
        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
108
        } else {
394
351
            for (size_t i = 0; i < _count; ++i) {
395
243
                f(index_check_const<is_const>(i), i, i);
396
243
            }
397
108
        }
398
108
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
1.60k
    void for_each_with_selector(Func& f) const {
388
1.60k
        if (_selector != nullptr) {
389
124
            const auto& selector_data = *_selector;
390
399
            for (size_t i = 0; i < _count; ++i) {
391
275
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
275
            }
393
1.48k
        } else {
394
87.0k
            for (size_t i = 0; i < _count; ++i) {
395
85.5k
                f(index_check_const<is_const>(i), i, i);
396
85.5k
            }
397
1.48k
        }
398
1.60k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
20
    void for_each_with_selector(Func& f) const {
388
20
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
20
        } else {
394
52
            for (size_t i = 0; i < _count; ++i) {
395
32
                f(index_check_const<is_const>(i), i, i);
396
32
            }
397
20
        }
398
20
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
122
    void for_each_with_selector(Func& f) const {
388
122
        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
122
        } else {
394
426
            for (size_t i = 0; i < _count; ++i) {
395
304
                f(index_check_const<is_const>(i), i, i);
396
304
            }
397
122
        }
398
122
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
116
    void for_each_with_selector(Func& f) const {
388
116
        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
116
        } else {
394
1.08k
            for (size_t i = 0; i < _count; ++i) {
395
967
                f(index_check_const<is_const>(i), i, i);
396
967
            }
397
116
        }
398
116
    }
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
49
    void for_each_with_selector(Func& f) const {
388
49
        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
31
        } else {
394
132
            for (size_t i = 0; i < _count; ++i) {
395
101
                f(index_check_const<is_const>(i), i, i);
396
101
            }
397
31
        }
398
49
    }
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
13
    void for_each_with_selector(Func& f) const {
388
13
        if (_selector != nullptr) {
389
13
            const auto& selector_data = *_selector;
390
42
            for (size_t i = 0; i < _count; ++i) {
391
29
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
29
            }
393
13
        } 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
13
    }
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
126
    void for_each_with_selector(Func& f) const {
388
126
        if (_selector != nullptr) {
389
126
            const auto& selector_data = *_selector;
390
414
            for (size_t i = 0; i < _count; ++i) {
391
288
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
288
            }
393
126
        } 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
126
    }
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
42
    void for_each_with_selector(Func& f) const {
388
42
        if (_selector != nullptr) {
389
42
            const auto& selector_data = *_selector;
390
101
            for (size_t i = 0; i < _count; ++i) {
391
59
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
59
            }
393
42
        } 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
42
    }
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
6
    void for_each_with_selector(Func& f) const {
388
6
        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
4
        } else {
394
8
            for (size_t i = 0; i < _count; ++i) {
395
4
                f(index_check_const<is_const>(i), i, i);
396
4
            }
397
4
        }
398
6
    }
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
315
    void for_each_with_selector(Func& f) const {
388
315
        if (_selector != nullptr) {
389
40
            const auto& selector_data = *_selector;
390
110
            for (size_t i = 0; i < _count; ++i) {
391
70
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
70
            }
393
275
        } else {
394
1.87k
            for (size_t i = 0; i < _count; ++i) {
395
1.60k
                f(index_check_const<is_const>(i), i, i);
396
1.60k
            }
397
275
        }
398
315
    }
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
9
    void for_each_with_selector(Func& f) const {
388
9
        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
7
        } else {
394
14
            for (size_t i = 0; i < _count; ++i) {
395
7
                f(index_check_const<is_const>(i), i, i);
396
7
            }
397
7
        }
398
9
    }
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
154
    void for_each_with_selector(Func& f) const {
388
154
        if (_selector != nullptr) {
389
17
            const auto& selector_data = *_selector;
390
40
            for (size_t i = 0; i < _count; ++i) {
391
23
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
23
            }
393
137
        } else {
394
8.43k
            for (size_t i = 0; i < _count; ++i) {
395
8.29k
                f(index_check_const<is_const>(i), i, i);
396
8.29k
            }
397
137
        }
398
154
    }
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
47
    void for_each_with_selector(Func& f) const {
388
47
        if (_selector != nullptr) {
389
47
            const auto& selector_data = *_selector;
390
109
            for (size_t i = 0; i < _count; ++i) {
391
62
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
62
            }
393
47
        } 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
47
    }
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
49
    void for_each_with_selector(Func& f) const {
388
49
        if (_selector != nullptr) {
389
49
            const auto& selector_data = *_selector;
390
122
            for (size_t i = 0; i < _count; ++i) {
391
73
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
73
            }
393
49
        } 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
49
    }
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
7
    void for_each_with_selector(Func& f) const {
388
7
        if (_selector != nullptr) {
389
7
            const auto& selector_data = *_selector;
390
14
            for (size_t i = 0; i < _count; ++i) {
391
7
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
7
            }
393
7
        } 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
7
    }
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
2.60k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
2.60k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
2.60k
                                      size_t count) {
415
2.60k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
2.60k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
2.60k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
2.59k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
2.59k
        if (this->null_map != nullptr) {
422
674
            const auto& null_map_data = *(this->null_map);
423
8.41k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
8.41k
                if (null_map_data[i]) {
425
244
                    null_func(self_index, executor_index);
426
8.16k
                } else {
427
8.16k
                    if (this->data[i]) {
428
3.70k
                        true_func(self_index, executor_index);
429
4.46k
                    } else {
430
4.46k
                        false_func(self_index, executor_index);
431
4.46k
                    }
432
8.16k
                }
433
8.41k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
7.75k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
7.75k
                if (null_map_data[i]) {
425
107
                    null_func(self_index, executor_index);
426
7.65k
                } else {
427
7.65k
                    if (this->data[i]) {
428
3.42k
                        true_func(self_index, executor_index);
429
4.23k
                    } else {
430
4.23k
                        false_func(self_index, executor_index);
431
4.23k
                    }
432
7.65k
                }
433
7.75k
            };
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
336
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
336
                if (null_map_data[i]) {
425
86
                    null_func(self_index, executor_index);
426
250
                } else {
427
250
                    if (this->data[i]) {
428
171
                        true_func(self_index, executor_index);
429
171
                    } else {
430
79
                        false_func(self_index, executor_index);
431
79
                    }
432
250
                }
433
336
            };
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
317
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
317
                if (null_map_data[i]) {
425
51
                    null_func(self_index, executor_index);
426
266
                } else {
427
266
                    if (this->data[i]) {
428
109
                        true_func(self_index, executor_index);
429
157
                    } else {
430
157
                        false_func(self_index, executor_index);
431
157
                    }
432
266
                }
433
317
            };
434
674
            if (is_const) {
435
60
                for_each_with_selector<true>(update);
436
614
            } else {
437
614
                for_each_with_selector<false>(update);
438
614
            }
439
1.92k
        } else {
440
            // non-nullable condition column
441
87.2k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
87.2k
                if (this->data[i]) {
443
8.52k
                    true_func(self_index, executor_index);
444
78.6k
                } else {
445
78.6k
                    false_func(self_index, executor_index);
446
78.6k
                }
447
87.2k
            };
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
86.0k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
86.0k
                if (this->data[i]) {
443
7.49k
                    true_func(self_index, executor_index);
444
78.5k
                } else {
445
78.5k
                    false_func(self_index, executor_index);
446
78.5k
                }
447
86.0k
            };
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.10k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.10k
                if (this->data[i]) {
443
1.00k
                    true_func(self_index, executor_index);
444
1.00k
                } else {
445
107
                    false_func(self_index, executor_index);
446
107
                }
447
1.10k
            };
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
59
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
59
                if (this->data[i]) {
443
28
                    true_func(self_index, executor_index);
444
31
                } else {
445
31
                    false_func(self_index, executor_index);
446
31
                }
447
59
            };
448
1.92k
            if (is_const) {
449
224
                for_each_with_selector<true>(update);
450
1.69k
            } else {
451
1.69k
                for_each_with_selector<false>(update);
452
1.69k
            }
453
1.92k
        }
454
2.59k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_
Line
Count
Source
420
2.10k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
2.10k
        if (this->null_map != nullptr) {
422
393
            const auto& null_map_data = *(this->null_map);
423
393
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
393
                if (null_map_data[i]) {
425
393
                    null_func(self_index, executor_index);
426
393
                } else {
427
393
                    if (this->data[i]) {
428
393
                        true_func(self_index, executor_index);
429
393
                    } else {
430
393
                        false_func(self_index, executor_index);
431
393
                    }
432
393
                }
433
393
            };
434
393
            if (is_const) {
435
27
                for_each_with_selector<true>(update);
436
366
            } else {
437
366
                for_each_with_selector<false>(update);
438
366
            }
439
1.71k
        } else {
440
            // non-nullable condition column
441
1.71k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.71k
                if (this->data[i]) {
443
1.71k
                    true_func(self_index, executor_index);
444
1.71k
                } else {
445
1.71k
                    false_func(self_index, executor_index);
446
1.71k
                }
447
1.71k
            };
448
1.71k
            if (is_const) {
449
108
                for_each_with_selector<true>(update);
450
1.60k
            } else {
451
1.60k
                for_each_with_selector<false>(update);
452
1.60k
            }
453
1.71k
        }
454
2.10k
    }
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
307
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
307
        if (this->null_map != nullptr) {
422
142
            const auto& null_map_data = *(this->null_map);
423
142
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
142
                if (null_map_data[i]) {
425
142
                    null_func(self_index, executor_index);
426
142
                } else {
427
142
                    if (this->data[i]) {
428
142
                        true_func(self_index, executor_index);
429
142
                    } else {
430
142
                        false_func(self_index, executor_index);
431
142
                    }
432
142
                }
433
142
            };
434
142
            if (is_const) {
435
20
                for_each_with_selector<true>(update);
436
122
            } else {
437
122
                for_each_with_selector<false>(update);
438
122
            }
439
165
        } else {
440
            // non-nullable condition column
441
165
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
165
                if (this->data[i]) {
443
165
                    true_func(self_index, executor_index);
444
165
                } else {
445
165
                    false_func(self_index, executor_index);
446
165
                }
447
165
            };
448
165
            if (is_const) {
449
116
                for_each_with_selector<true>(update);
450
116
            } else {
451
49
                for_each_with_selector<false>(update);
452
49
            }
453
165
        }
454
307
    }
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
181
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
181
        if (this->null_map != nullptr) {
422
139
            const auto& null_map_data = *(this->null_map);
423
139
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
139
                if (null_map_data[i]) {
425
139
                    null_func(self_index, executor_index);
426
139
                } else {
427
139
                    if (this->data[i]) {
428
139
                        true_func(self_index, executor_index);
429
139
                    } else {
430
139
                        false_func(self_index, executor_index);
431
139
                    }
432
139
                }
433
139
            };
434
139
            if (is_const) {
435
13
                for_each_with_selector<true>(update);
436
126
            } else {
437
126
                for_each_with_selector<false>(update);
438
126
            }
439
139
        } else {
440
            // non-nullable condition column
441
42
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
42
                if (this->data[i]) {
443
42
                    true_func(self_index, executor_index);
444
42
                } else {
445
42
                    false_func(self_index, executor_index);
446
42
                }
447
42
            };
448
42
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
42
            } else {
451
42
                for_each_with_selector<false>(update);
452
42
            }
453
42
        }
454
181
    }
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
592
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
592
                                          size_t count) {
465
592
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
592
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
592
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
587
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
587
        if (this->null_map != nullptr) {
472
531
            const auto& null_map_data = *(this->null_map);
473
10.0k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
10.0k
                if (null_map_data[i]) {
475
284
                    null_func(self_index, executor_index);
476
9.78k
                } else {
477
9.78k
                    not_null_func(self_index, executor_index);
478
9.78k
                }
479
10.0k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE_clEmmm
Line
Count
Source
473
1.68k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.68k
                if (null_map_data[i]) {
475
140
                    null_func(self_index, executor_index);
476
1.54k
                } else {
477
1.54k
                    not_null_func(self_index, executor_index);
478
1.54k
                }
479
1.68k
            };
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
8.32k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
8.32k
                if (null_map_data[i]) {
475
118
                    null_func(self_index, executor_index);
476
8.21k
                } else {
477
8.21k
                    not_null_func(self_index, executor_index);
478
8.21k
                }
479
8.32k
            };
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
62
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
62
                if (null_map_data[i]) {
475
26
                    null_func(self_index, executor_index);
476
36
                } else {
477
36
                    not_null_func(self_index, executor_index);
478
36
                }
479
62
            };
480
531
            if (is_const) {
481
15
                for_each_with_selector<true>(update);
482
516
            } else {
483
516
                for_each_with_selector<false>(update);
484
516
            }
485
531
        } else {
486
            // non-nullable condition column
487
80
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
80
                not_null_func(self_index, executor_index);
489
80
            };
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
80
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
80
                not_null_func(self_index, executor_index);
489
80
            };
490
56
            if (is_const) {
491
49
                for_each_with_selector<true>(update);
492
49
            } else {
493
7
                for_each_with_selector<false>(update);
494
7
            }
495
56
        }
496
587
    }
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
321
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
321
        if (this->null_map != nullptr) {
472
321
            const auto& null_map_data = *(this->null_map);
473
321
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
321
                if (null_map_data[i]) {
475
321
                    null_func(self_index, executor_index);
476
321
                } else {
477
321
                    not_null_func(self_index, executor_index);
478
321
                }
479
321
            };
480
321
            if (is_const) {
481
6
                for_each_with_selector<true>(update);
482
315
            } else {
483
315
                for_each_with_selector<false>(update);
484
315
            }
485
321
        } 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
321
    }
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
163
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
163
        if (this->null_map != nullptr) {
472
163
            const auto& null_map_data = *(this->null_map);
473
163
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
163
                if (null_map_data[i]) {
475
163
                    null_func(self_index, executor_index);
476
163
                } else {
477
163
                    not_null_func(self_index, executor_index);
478
163
                }
479
163
            };
480
163
            if (is_const) {
481
9
                for_each_with_selector<true>(update);
482
154
            } else {
483
154
                for_each_with_selector<false>(update);
484
154
            }
485
163
        } 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
163
    }
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
103
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
103
        if (this->null_map != nullptr) {
472
47
            const auto& null_map_data = *(this->null_map);
473
47
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
47
                if (null_map_data[i]) {
475
47
                    null_func(self_index, executor_index);
476
47
                } else {
477
47
                    not_null_func(self_index, executor_index);
478
47
                }
479
47
            };
480
47
            if (is_const) {
481
0
                for_each_with_selector<true>(update);
482
47
            } else {
483
47
                for_each_with_selector<false>(update);
484
47
            }
485
56
        } else {
486
            // non-nullable condition column
487
56
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
56
                not_null_func(self_index, executor_index);
489
56
            };
490
56
            if (is_const) {
491
49
                for_each_with_selector<true>(update);
492
49
            } else {
493
7
                for_each_with_selector<false>(update);
494
7
            }
495
56
        }
496
103
    }
497
};
498
499
} // namespace doris