Coverage Report

Created: 2026-03-23 10:27

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/short_circuit_util.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include "core/block/column_with_type_and_name.h"
20
#include "core/column/column.h"
21
#include "core/column/column_const.h"
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_vector.h"
24
#include "core/field.h"
25
#include "exprs/vexpr.h"
26
27
namespace doris {
28
29
// Used to store a column along with its null_map and whether it is a const column.
30
// If the input column is not nullable, then null_map will be nullptr.
31
struct ColumnNullConstView {
32
    const IColumn& column;
33
    const NullMap* null_map;
34
    const bool is_const;
35
36
2.47k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
2.47k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
2.47k
        if (const auto* nullable_column =
40
2.47k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.58k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.58k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.58k
                                        .is_const = is_const};
44
1.58k
        } else {
45
888
            return ColumnNullConstView {
46
888
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
888
        }
48
2.47k
    }
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
20.9k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
20.9k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
20.9k
        const NullMap* null_map = nullptr;
64
20.9k
        const ArrayType* data = nullptr;
65
20.9k
        if (const auto* nullable_column =
66
20.9k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
3.48k
            null_map = &nullable_column->get_null_map_data();
68
3.48k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
3.48k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
17.4k
        } else {
71
17.4k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
17.4k
        }
73
74
20.9k
        return ColumnNullConstViewScalar {
75
20.9k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
20.9k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
7.32k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
7.32k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
7.32k
        const NullMap* null_map = nullptr;
64
7.32k
        const ArrayType* data = nullptr;
65
7.32k
        if (const auto* nullable_column =
66
7.32k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
692
            null_map = &nullable_column->get_null_map_data();
68
692
            const auto& nested_from_column = nullable_column->get_nested_column();
69
692
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6.63k
        } else {
71
6.63k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
6.63k
        }
73
74
7.32k
        return ColumnNullConstViewScalar {
75
7.32k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
7.32k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
10.2k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
10.2k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
10.2k
        const NullMap* null_map = nullptr;
64
10.2k
        const ArrayType* data = nullptr;
65
10.2k
        if (const auto* nullable_column =
66
10.2k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
72
            null_map = &nullable_column->get_null_map_data();
68
72
            const auto& nested_from_column = nullable_column->get_nested_column();
69
72
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
10.1k
        } else {
71
10.1k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
10.1k
        }
73
74
10.2k
        return ColumnNullConstViewScalar {
75
10.2k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
10.2k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
38
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
38
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
38
        const NullMap* null_map = nullptr;
64
38
        const ArrayType* data = nullptr;
65
38
        if (const auto* nullable_column =
66
38
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
37
            null_map = &nullable_column->get_null_map_data();
68
37
            const auto& nested_from_column = nullable_column->get_nested_column();
69
37
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
37
        } else {
71
1
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1
        }
73
74
38
        return ColumnNullConstViewScalar {
75
38
                .data = *data, .null_map = null_map, .is_const = is_const};
76
38
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_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
2.23k
            null_map = &nullable_column->get_null_map_data();
68
2.23k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
2.23k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2.23k
        } else {
71
379
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
379
        }
73
74
2.61k
        return ColumnNullConstViewScalar {
75
2.61k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2.61k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
226
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
226
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
226
        const NullMap* null_map = nullptr;
64
226
        const ArrayType* data = nullptr;
65
226
        if (const auto* nullable_column =
66
226
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
107
            null_map = &nullable_column->get_null_map_data();
68
107
            const auto& nested_from_column = nullable_column->get_nested_column();
69
107
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
119
        } else {
71
119
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
119
        }
73
74
226
        return ColumnNullConstViewScalar {
75
226
                .data = *data, .null_map = null_map, .is_const = is_const};
76
226
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
24
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
24
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
24
        const NullMap* null_map = nullptr;
64
24
        const ArrayType* data = nullptr;
65
24
        if (const auto* nullable_column =
66
24
                    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
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
24
        return ColumnNullConstViewScalar {
75
24
                .data = *data, .null_map = null_map, .is_const = is_const};
76
24
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
85
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
85
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
85
        const NullMap* null_map = nullptr;
64
85
        const ArrayType* data = nullptr;
65
85
        if (const auto* nullable_column =
66
85
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
71
            null_map = &nullable_column->get_null_map_data();
68
71
            const auto& nested_from_column = nullable_column->get_nested_column();
69
71
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
71
        } else {
71
14
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
14
        }
73
74
85
        return ColumnNullConstViewScalar {
75
85
                .data = *data, .null_map = null_map, .is_const = is_const};
76
85
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
36
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
36
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
36
        const NullMap* null_map = nullptr;
64
36
        const ArrayType* data = nullptr;
65
36
        if (const auto* nullable_column =
66
36
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
34
            null_map = &nullable_column->get_null_map_data();
68
34
            const auto& nested_from_column = nullable_column->get_nested_column();
69
34
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
34
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
36
        return ColumnNullConstViewScalar {
75
36
                .data = *data, .null_map = null_map, .is_const = is_const};
76
36
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
53
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
53
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
53
        const NullMap* null_map = nullptr;
64
53
        const ArrayType* data = nullptr;
65
53
        if (const auto* nullable_column =
66
53
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
38
            null_map = &nullable_column->get_null_map_data();
68
38
            const auto& nested_from_column = nullable_column->get_nested_column();
69
38
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
38
        } else {
71
15
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
15
        }
73
74
53
        return ColumnNullConstViewScalar {
75
53
                .data = *data, .null_map = null_map, .is_const = is_const};
76
53
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
127
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
127
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
127
        const NullMap* null_map = nullptr;
64
127
        const ArrayType* data = nullptr;
65
127
        if (const auto* nullable_column =
66
127
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
65
            null_map = &nullable_column->get_null_map_data();
68
65
            const auto& nested_from_column = nullable_column->get_nested_column();
69
65
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
65
        } else {
71
62
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
62
        }
73
74
127
        return ColumnNullConstViewScalar {
75
127
                .data = *data, .null_map = null_map, .is_const = is_const};
76
127
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
100
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
100
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
100
        const NullMap* null_map = nullptr;
64
100
        const ArrayType* data = nullptr;
65
100
        if (const auto* nullable_column =
66
100
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
42
            null_map = &nullable_column->get_null_map_data();
68
42
            const auto& nested_from_column = nullable_column->get_nested_column();
69
42
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
58
        } else {
71
58
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
58
        }
73
74
100
        return ColumnNullConstViewScalar {
75
100
                .data = *data, .null_map = null_map, .is_const = is_const};
76
100
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
56
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
56
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
56
        const NullMap* null_map = nullptr;
64
56
        const ArrayType* data = nullptr;
65
56
        if (const auto* nullable_column =
66
56
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
51
            null_map = &nullable_column->get_null_map_data();
68
51
            const auto& nested_from_column = nullable_column->get_nested_column();
69
51
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
51
        } else {
71
5
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
5
        }
73
74
56
        return ColumnNullConstViewScalar {
75
56
                .data = *data, .null_map = null_map, .is_const = is_const};
76
56
    }
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
820
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
820
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
646
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
646
                                          .null_map = &nullable_column->get_null_map_data()};
88
646
        } else {
89
174
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
174
        }
91
820
    }
92
93
1.95k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
1.95k
        auto index = index_check_const(i, from.is_const);
95
1.95k
        column.insert_from(from.column, index);
96
1.95k
        if (null_map != nullptr && from.null_map != nullptr) {
97
1.36k
            null_map->push_back((*from.null_map)[index]);
98
1.36k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
129
            null_map->push_back(0);
101
129
        }
102
1.95k
    }
103
104
27
    void insert_null() {
105
27
        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
27
        column.insert_default();
111
27
        null_map->push_back(1);
112
27
    }
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
6.93k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
6.93k
        ColumnType* data_column = nullptr;
125
6.93k
        NullMap* null_map = nullptr;
126
6.93k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.43k
            null_map = &nullable_column->get_null_map_data();
128
1.43k
            auto& nested_column = nullable_column->get_nested_column();
129
1.43k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5.49k
        } else {
131
5.49k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5.49k
        }
133
134
6.93k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
6.93k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
32
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
32
        ColumnType* data_column = nullptr;
125
32
        NullMap* null_map = nullptr;
126
32
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
3
            null_map = &nullable_column->get_null_map_data();
128
3
            auto& nested_column = nullable_column->get_nested_column();
129
3
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
29
        } else {
131
29
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
29
        }
133
134
32
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5.12k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5.12k
        ColumnType* data_column = nullptr;
125
5.12k
        NullMap* null_map = nullptr;
126
5.12k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
53
            null_map = &nullable_column->get_null_map_data();
128
53
            auto& nested_column = nullable_column->get_nested_column();
129
53
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5.07k
        } else {
131
5.07k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5.07k
        }
133
134
5.12k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5.12k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
31
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
31
        ColumnType* data_column = nullptr;
125
31
        NullMap* null_map = nullptr;
126
31
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
31
            null_map = &nullable_column->get_null_map_data();
128
31
            auto& nested_column = nullable_column->get_nested_column();
129
31
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
31
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
31
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
31
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.32k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.32k
        ColumnType* data_column = nullptr;
125
1.32k
        NullMap* null_map = nullptr;
126
1.32k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.09k
            null_map = &nullable_column->get_null_map_data();
128
1.09k
            auto& nested_column = nullable_column->get_nested_column();
129
1.09k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.09k
        } else {
131
226
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
226
        }
133
134
1.32k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.32k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
122
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
122
        ColumnType* data_column = nullptr;
125
122
        NullMap* null_map = nullptr;
126
122
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
39
            null_map = &nullable_column->get_null_map_data();
128
39
            auto& nested_column = nullable_column->get_nested_column();
129
39
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
83
        } else {
131
83
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
83
        }
133
134
122
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
122
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
20
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
20
        ColumnType* data_column = nullptr;
125
20
        NullMap* null_map = nullptr;
126
20
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
20
            null_map = &nullable_column->get_null_map_data();
128
20
            auto& nested_column = nullable_column->get_nested_column();
129
20
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
20
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
20
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
53
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
53
        ColumnType* data_column = nullptr;
125
53
        NullMap* null_map = nullptr;
126
53
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
46
            null_map = &nullable_column->get_null_map_data();
128
46
            auto& nested_column = nullable_column->get_nested_column();
129
46
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
46
        } else {
131
7
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
7
        }
133
134
53
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
53
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
26
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
26
        ColumnType* data_column = nullptr;
125
26
        NullMap* null_map = nullptr;
126
26
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
26
            null_map = &nullable_column->get_null_map_data();
128
26
            auto& nested_column = nullable_column->get_nested_column();
129
26
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
26
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
26
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
26
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
30
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
30
        ColumnType* data_column = nullptr;
125
30
        NullMap* null_map = nullptr;
126
30
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
15
            null_map = &nullable_column->get_null_map_data();
128
15
            auto& nested_column = nullable_column->get_nested_column();
129
15
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
15
        } else {
131
15
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
15
        }
133
134
30
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
30
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
64
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
64
        ColumnType* data_column = nullptr;
125
64
        NullMap* null_map = nullptr;
126
64
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
40
            null_map = &nullable_column->get_null_map_data();
128
40
            auto& nested_column = nullable_column->get_nested_column();
129
40
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
40
        } else {
131
24
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
24
        }
133
134
64
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
64
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
57
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
57
        ColumnType* data_column = nullptr;
125
57
        NullMap* null_map = nullptr;
126
57
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
31
            null_map = &nullable_column->get_null_map_data();
128
31
            auto& nested_column = nullable_column->get_nested_column();
129
31
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
31
        } else {
131
26
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
26
        }
133
134
57
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
57
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
39
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
39
        ColumnType* data_column = nullptr;
125
39
        NullMap* null_map = nullptr;
126
39
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
28
            null_map = &nullable_column->get_null_map_data();
128
28
            auto& nested_column = nullable_column->get_nested_column();
129
28
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
28
        } else {
131
11
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
11
        }
133
134
39
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
39
    }
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
13.6k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
13.6k
        auto& result_data = data;
139
13.6k
        const auto& from_data = from.data;
140
141
13.6k
        auto* result_null_map_data = null_map;
142
13.6k
        const auto* from_null_map_data = from.null_map;
143
144
13.6k
        if (from.is_const) {
145
5.86k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5.86k
                                     from_null_map_data, selector);
147
7.82k
        } else {
148
7.82k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
7.82k
                                      from_null_map_data, selector);
150
7.82k
        }
151
13.6k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
64
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
64
        auto& result_data = data;
139
64
        const auto& from_data = from.data;
140
141
64
        auto* result_null_map_data = null_map;
142
64
        const auto* from_null_map_data = from.null_map;
143
144
64
        if (from.is_const) {
145
3
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
3
                                     from_null_map_data, selector);
147
61
        } else {
148
61
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
61
                                      from_null_map_data, selector);
150
61
        }
151
64
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
10.2k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
10.2k
        auto& result_data = data;
139
10.2k
        const auto& from_data = from.data;
140
141
10.2k
        auto* result_null_map_data = null_map;
142
10.2k
        const auto* from_null_map_data = from.null_map;
143
144
10.2k
        if (from.is_const) {
145
5.24k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5.24k
                                     from_null_map_data, selector);
147
5.24k
        } else {
148
4.99k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
4.99k
                                      from_null_map_data, selector);
150
4.99k
        }
151
10.2k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
38
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
38
        auto& result_data = data;
139
38
        const auto& from_data = from.data;
140
141
38
        auto* result_null_map_data = null_map;
142
38
        const auto* from_null_map_data = from.null_map;
143
144
38
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
34
        } else {
148
34
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
34
                                      from_null_map_data, selector);
150
34
        }
151
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2.61k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2.61k
        auto& result_data = data;
139
2.61k
        const auto& from_data = from.data;
140
141
2.61k
        auto* result_null_map_data = null_map;
142
2.61k
        const auto* from_null_map_data = from.null_map;
143
144
2.61k
        if (from.is_const) {
145
481
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
481
                                     from_null_map_data, selector);
147
2.13k
        } else {
148
2.13k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
2.13k
                                      from_null_map_data, selector);
150
2.13k
        }
151
2.61k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
226
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
226
        auto& result_data = data;
139
226
        const auto& from_data = from.data;
140
141
226
        auto* result_null_map_data = null_map;
142
226
        const auto* from_null_map_data = from.null_map;
143
144
226
        if (from.is_const) {
145
34
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
34
                                     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
226
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
24
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
24
        auto& result_data = data;
139
24
        const auto& from_data = from.data;
140
141
24
        auto* result_null_map_data = null_map;
142
24
        const auto* from_null_map_data = from.null_map;
143
144
24
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
22
        } else {
148
22
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
22
                                      from_null_map_data, selector);
150
22
        }
151
24
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
85
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
85
        auto& result_data = data;
139
85
        const auto& from_data = from.data;
140
141
85
        auto* result_null_map_data = null_map;
142
85
        const auto* from_null_map_data = from.null_map;
143
144
85
        if (from.is_const) {
145
11
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
11
                                     from_null_map_data, selector);
147
74
        } else {
148
74
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
74
                                      from_null_map_data, selector);
150
74
        }
151
85
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
36
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
36
        auto& result_data = data;
139
36
        const auto& from_data = from.data;
140
141
36
        auto* result_null_map_data = null_map;
142
36
        const auto* from_null_map_data = from.null_map;
143
144
36
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
34
        } else {
148
34
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
34
                                      from_null_map_data, selector);
150
34
        }
151
36
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
53
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
53
        auto& result_data = data;
139
53
        const auto& from_data = from.data;
140
141
53
        auto* result_null_map_data = null_map;
142
53
        const auto* from_null_map_data = from.null_map;
143
144
53
        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
43
        } else {
148
43
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
43
                                      from_null_map_data, selector);
150
43
        }
151
53
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
127
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
127
        auto& result_data = data;
139
127
        const auto& from_data = from.data;
140
141
127
        auto* result_null_map_data = null_map;
142
127
        const auto* from_null_map_data = from.null_map;
143
144
127
        if (from.is_const) {
145
45
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
45
                                     from_null_map_data, selector);
147
82
        } else {
148
82
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
82
                                      from_null_map_data, selector);
150
82
        }
151
127
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_35EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_11EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_25EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
100
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
100
        auto& result_data = data;
139
100
        const auto& from_data = from.data;
140
141
100
        auto* result_null_map_data = null_map;
142
100
        const auto* from_null_map_data = from.null_map;
143
144
100
        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
93
        } else {
148
93
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
93
                                      from_null_map_data, selector);
150
93
        }
151
100
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
56
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
56
        auto& result_data = data;
139
56
        const auto& from_data = from.data;
140
141
56
        auto* result_null_map_data = null_map;
142
56
        const auto* from_null_map_data = from.null_map;
143
144
56
        if (from.is_const) {
145
6
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6
                                     from_null_map_data, selector);
147
50
        } else {
148
50
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
50
                                      from_null_map_data, selector);
150
50
        }
151
56
    }
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
13.6k
                                   const Selector& selector) {
157
13.6k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
13.6k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2.55k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2.55k
        }
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
13.6k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
3
                                   const Selector& selector) {
157
3
        insert_with_selector<is_const>(result_data, from_data, selector);
158
3
        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
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
61
                                   const Selector& selector) {
157
61
        insert_with_selector<is_const>(result_data, from_data, selector);
158
61
        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
61
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
5.24k
                                   const Selector& selector) {
157
5.24k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
5.24k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
4
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
4
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
5.24k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4.99k
                                   const Selector& selector) {
157
4.99k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4.99k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
54
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
54
        }
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.99k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_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
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
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
34
                                   const Selector& selector) {
157
34
        insert_with_selector<is_const>(result_data, from_data, selector);
158
34
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
34
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
34
        }
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
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
481
                                   const Selector& selector) {
157
481
        insert_with_selector<is_const>(result_data, from_data, selector);
158
481
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
448
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
448
        }
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
481
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2.13k
                                   const Selector& selector) {
157
2.13k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2.13k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.65k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.65k
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2.13k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
34
                                   const Selector& selector) {
157
34
        insert_with_selector<is_const>(result_data, from_data, selector);
158
34
        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
34
    }
_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
42
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
42
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
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
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
22
                                   const Selector& selector) {
157
22
        insert_with_selector<is_const>(result_data, from_data, selector);
158
22
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
22
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
22
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_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
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
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
74
                                   const Selector& selector) {
157
74
        insert_with_selector<is_const>(result_data, from_data, selector);
158
74
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
62
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
62
        }
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
74
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
34
                                   const Selector& selector) {
157
34
        insert_with_selector<is_const>(result_data, from_data, selector);
158
34
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
32
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
32
        }
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
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_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
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
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
43
                                   const Selector& selector) {
157
43
        insert_with_selector<is_const>(result_data, from_data, selector);
158
43
        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
43
    }
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
45
                                   const Selector& selector) {
157
45
        insert_with_selector<is_const>(result_data, from_data, selector);
158
45
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
17
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
17
        }
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
45
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
82
                                   const Selector& selector) {
157
82
        insert_with_selector<is_const>(result_data, from_data, selector);
158
82
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
45
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
45
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
82
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
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
4
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
4
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
93
                                   const Selector& selector) {
157
93
        insert_with_selector<is_const>(result_data, from_data, selector);
158
93
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
38
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
38
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
93
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
50
                                   const Selector& selector) {
157
50
        insert_with_selector<is_const>(result_data, from_data, selector);
158
50
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
38
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
38
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
50
    }
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
16.2k
                                     const Selector& selector) {
169
22.1M
        for (size_t i = 0; i < selector.size(); ++i) {
170
22.1M
            auto index = selector[i];
171
22.1M
            result_data[index] = data[index_check_const<is_const>(i)];
172
22.1M
        }
173
16.2k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
12
        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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
64
                                     const Selector& selector) {
169
135
        for (size_t i = 0; i < selector.size(); ++i) {
170
71
            auto index = selector[i];
171
71
            result_data[index] = data[index_check_const<is_const>(i)];
172
71
        }
173
64
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5.24k
                                     const Selector& selector) {
169
22.0M
        for (size_t i = 0; i < selector.size(); ++i) {
170
22.0M
            auto index = selector[i];
171
22.0M
            result_data[index] = data[index_check_const<is_const>(i)];
172
22.0M
        }
173
5.24k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
6
        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
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4.99k
                                     const Selector& selector) {
169
5.10k
        for (size_t i = 0; i < selector.size(); ++i) {
170
109
            auto index = selector[i];
171
109
            result_data[index] = data[index_check_const<is_const>(i)];
172
109
        }
173
4.99k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
54
                                     const Selector& selector) {
169
151
        for (size_t i = 0; i < selector.size(); ++i) {
170
97
            auto index = selector[i];
171
97
            result_data[index] = data[index_check_const<is_const>(i)];
172
97
        }
173
54
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
14
        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
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
8
        for (size_t i = 0; i < selector.size(); ++i) {
170
5
            auto index = selector[i];
171
5
            result_data[index] = data[index_check_const<is_const>(i)];
172
5
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
34
                                     const Selector& selector) {
169
124
        for (size_t i = 0; i < selector.size(); ++i) {
170
90
            auto index = selector[i];
171
90
            result_data[index] = data[index_check_const<is_const>(i)];
172
90
        }
173
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
34
                                     const Selector& selector) {
169
124
        for (size_t i = 0; i < selector.size(); ++i) {
170
90
            auto index = selector[i];
171
90
            result_data[index] = data[index_check_const<is_const>(i)];
172
90
        }
173
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
481
                                     const Selector& selector) {
169
1.75k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.27k
            auto index = selector[i];
171
1.27k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.27k
        }
173
481
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
448
                                     const Selector& selector) {
169
1.66k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.21k
            auto index = selector[i];
171
1.21k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.21k
        }
173
448
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2.13k
                                     const Selector& selector) {
169
5.05k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.92k
            auto index = selector[i];
171
2.92k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.92k
        }
173
2.13k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.65k
                                     const Selector& selector) {
169
3.60k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.95k
            auto index = selector[i];
171
1.95k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.95k
        }
173
1.65k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
34
                                     const Selector& selector) {
169
123
        for (size_t i = 0; i < selector.size(); ++i) {
170
89
            auto index = selector[i];
171
89
            result_data[index] = data[index_check_const<is_const>(i)];
172
89
        }
173
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
192
                                     const Selector& selector) {
169
701
        for (size_t i = 0; i < selector.size(); ++i) {
170
509
            auto index = selector[i];
171
509
            result_data[index] = data[index_check_const<is_const>(i)];
172
509
        }
173
192
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
42
                                     const Selector& selector) {
169
123
        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
42
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
82
        for (size_t i = 0; i < selector.size(); ++i) {
170
60
            auto index = selector[i];
171
60
            result_data[index] = data[index_check_const<is_const>(i)];
172
60
        }
173
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
82
        for (size_t i = 0; i < selector.size(); ++i) {
170
60
            auto index = selector[i];
171
60
            result_data[index] = data[index_check_const<is_const>(i)];
172
60
        }
173
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
6.41k
        for (size_t i = 0; i < selector.size(); ++i) {
170
6.40k
            auto index = selector[i];
171
6.40k
            result_data[index] = data[index_check_const<is_const>(i)];
172
6.40k
        }
173
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
74
                                     const Selector& selector) {
169
8.98k
        for (size_t i = 0; i < selector.size(); ++i) {
170
8.90k
            auto index = selector[i];
171
8.90k
            result_data[index] = data[index_check_const<is_const>(i)];
172
8.90k
        }
173
74
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
62
                                     const Selector& selector) {
169
8.71k
        for (size_t i = 0; i < selector.size(); ++i) {
170
8.65k
            auto index = selector[i];
171
8.65k
            result_data[index] = data[index_check_const<is_const>(i)];
172
8.65k
        }
173
62
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
34
                                     const Selector& selector) {
169
103
        for (size_t i = 0; i < selector.size(); ++i) {
170
69
            auto index = selector[i];
171
69
            result_data[index] = data[index_check_const<is_const>(i)];
172
69
        }
173
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
32
                                     const Selector& selector) {
169
101
        for (size_t i = 0; i < selector.size(); ++i) {
170
69
            auto index = selector[i];
171
69
            result_data[index] = data[index_check_const<is_const>(i)];
172
69
        }
173
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
25
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
43
                                     const Selector& selector) {
169
92
        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
43
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
19
                                     const Selector& selector) {
169
35
        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
19
    }
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
45
                                     const Selector& selector) {
169
6.48k
        for (size_t i = 0; i < selector.size(); ++i) {
170
6.44k
            auto index = selector[i];
171
6.44k
            result_data[index] = data[index_check_const<is_const>(i)];
172
6.44k
        }
173
45
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
17
                                     const Selector& selector) {
169
38
        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
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
82
                                     const Selector& selector) {
169
1.35k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.27k
            auto index = selector[i];
171
1.27k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.27k
        }
173
82
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
45
                                     const Selector& selector) {
169
91
        for (size_t i = 0; i < selector.size(); ++i) {
170
46
            auto index = selector[i];
171
46
            result_data[index] = data[index_check_const<is_const>(i)];
172
46
        }
173
45
    }
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
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
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
16
        for (size_t i = 0; i < selector.size(); ++i) {
170
9
            auto index = selector[i];
171
9
            result_data[index] = data[index_check_const<is_const>(i)];
172
9
        }
173
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
7
        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
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
93
                                     const Selector& selector) {
169
228
        for (size_t i = 0; i < selector.size(); ++i) {
170
135
            auto index = selector[i];
171
135
            result_data[index] = data[index_check_const<is_const>(i)];
172
135
        }
173
93
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
38
                                     const Selector& selector) {
169
113
        for (size_t i = 0; i < selector.size(); ++i) {
170
75
            auto index = selector[i];
171
75
            result_data[index] = data[index_check_const<is_const>(i)];
172
75
        }
173
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
14
        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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
50
                                     const Selector& selector) {
169
146
        for (size_t i = 0; i < selector.size(); ++i) {
170
96
            auto index = selector[i];
171
96
            result_data[index] = data[index_check_const<is_const>(i)];
172
96
        }
173
50
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
38
                                     const Selector& selector) {
169
124
        for (size_t i = 0; i < selector.size(); ++i) {
170
86
            auto index = selector[i];
171
86
            result_data[index] = data[index_check_const<is_const>(i)];
172
86
        }
173
38
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_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
43
    void insert_null(const Selector& selector) {
176
43
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
43
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
42
        auto& null_map_data = *null_map;
183
87
        for (size_t i = 0; i < selector.size(); ++i) {
184
45
            null_map_data[selector[i]] = 1;
185
45
        }
186
42
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
6
        auto& null_map_data = *null_map;
183
12
        for (size_t i = 0; i < selector.size(); ++i) {
184
6
            null_map_data[selector[i]] = 1;
185
6
        }
186
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
9
    void insert_null(const Selector& selector) {
176
9
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
9
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
8
        auto& null_map_data = *null_map;
183
19
        for (size_t i = 0; i < selector.size(); ++i) {
184
11
            null_map_data[selector[i]] = 1;
185
11
        }
186
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
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
402
    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
6.66k
                          const Selector& false_selector, size_t count) {
230
6.66k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6.66k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6.66k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6.66k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6.66k
        auto result_column = result_type->create_column();
236
237
6.66k
        MutableColumnNullViewScalar<PType> result_column_view =
238
6.66k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6.66k
        init_result_column(result_column_view, count);
240
241
6.66k
        ColumnNullConstViewScalar<PType> true_column_view =
242
6.66k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6.66k
        ColumnNullConstViewScalar<PType> false_column_view =
244
6.66k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6.66k
        result_column_view.insert_from(true_column_view, true_selector);
247
6.66k
        result_column_view.insert_from(false_column_view, false_selector);
248
6.66k
        DCHECK_EQ(result_column->size(), count);
249
6.66k
        return result_column;
250
6.66k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
32
                          const Selector& false_selector, size_t count) {
230
32
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
32
        DCHECK_EQ(true_column->size(), true_selector.size());
232
32
        DCHECK_EQ(false_column->size(), false_selector.size());
233
32
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
32
        auto result_column = result_type->create_column();
236
237
32
        MutableColumnNullViewScalar<PType> result_column_view =
238
32
                MutableColumnNullViewScalar<PType>::create(result_column);
239
32
        init_result_column(result_column_view, count);
240
241
32
        ColumnNullConstViewScalar<PType> true_column_view =
242
32
                ColumnNullConstViewScalar<PType>::create(true_column);
243
32
        ColumnNullConstViewScalar<PType> false_column_view =
244
32
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
32
        result_column_view.insert_from(true_column_view, true_selector);
247
32
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
32
        return result_column;
250
32
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
5.08k
                          const Selector& false_selector, size_t count) {
230
5.08k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
5.08k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
5.08k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
5.08k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
5.08k
        auto result_column = result_type->create_column();
236
237
5.08k
        MutableColumnNullViewScalar<PType> result_column_view =
238
5.08k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
5.08k
        init_result_column(result_column_view, count);
240
241
5.08k
        ColumnNullConstViewScalar<PType> true_column_view =
242
5.08k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
5.08k
        ColumnNullConstViewScalar<PType> false_column_view =
244
5.08k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
5.08k
        result_column_view.insert_from(true_column_view, true_selector);
247
5.08k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
5.08k
        return result_column;
250
5.08k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1
                          const Selector& false_selector, size_t count) {
230
1
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1
        auto result_column = result_type->create_column();
236
237
1
        MutableColumnNullViewScalar<PType> result_column_view =
238
1
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1
        init_result_column(result_column_view, count);
240
241
1
        ColumnNullConstViewScalar<PType> true_column_view =
242
1
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1
        ColumnNullConstViewScalar<PType> false_column_view =
244
1
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1
        result_column_view.insert_from(true_column_view, true_selector);
247
1
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1
        return result_column;
250
1
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1.27k
                          const Selector& false_selector, size_t count) {
230
1.27k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1.27k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1.27k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1.27k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1.27k
        auto result_column = result_type->create_column();
236
237
1.27k
        MutableColumnNullViewScalar<PType> result_column_view =
238
1.27k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1.27k
        init_result_column(result_column_view, count);
240
241
1.27k
        ColumnNullConstViewScalar<PType> true_column_view =
242
1.27k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1.27k
        ColumnNullConstViewScalar<PType> false_column_view =
244
1.27k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1.27k
        result_column_view.insert_from(true_column_view, true_selector);
247
1.27k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1.27k
        return result_column;
250
1.27k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
99
                          const Selector& false_selector, size_t count) {
230
99
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
99
        DCHECK_EQ(true_column->size(), true_selector.size());
232
99
        DCHECK_EQ(false_column->size(), false_selector.size());
233
99
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
99
        auto result_column = result_type->create_column();
236
237
99
        MutableColumnNullViewScalar<PType> result_column_view =
238
99
                MutableColumnNullViewScalar<PType>::create(result_column);
239
99
        init_result_column(result_column_view, count);
240
241
99
        ColumnNullConstViewScalar<PType> true_column_view =
242
99
                ColumnNullConstViewScalar<PType>::create(true_column);
243
99
        ColumnNullConstViewScalar<PType> false_column_view =
244
99
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
99
        result_column_view.insert_from(true_column_view, true_selector);
247
99
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
99
        return result_column;
250
99
    }
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
27
                          const Selector& false_selector, size_t count) {
230
27
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
27
        DCHECK_EQ(true_column->size(), true_selector.size());
232
27
        DCHECK_EQ(false_column->size(), false_selector.size());
233
27
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
27
        auto result_column = result_type->create_column();
236
237
27
        MutableColumnNullViewScalar<PType> result_column_view =
238
27
                MutableColumnNullViewScalar<PType>::create(result_column);
239
27
        init_result_column(result_column_view, count);
240
241
27
        ColumnNullConstViewScalar<PType> true_column_view =
242
27
                ColumnNullConstViewScalar<PType>::create(true_column);
243
27
        ColumnNullConstViewScalar<PType> false_column_view =
244
27
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
27
        result_column_view.insert_from(true_column_view, true_selector);
247
27
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
27
        return result_column;
250
27
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_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_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
23
                          const Selector& false_selector, size_t count) {
230
23
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
23
        DCHECK_EQ(true_column->size(), true_selector.size());
232
23
        DCHECK_EQ(false_column->size(), false_selector.size());
233
23
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
23
        auto result_column = result_type->create_column();
236
237
23
        MutableColumnNullViewScalar<PType> result_column_view =
238
23
                MutableColumnNullViewScalar<PType>::create(result_column);
239
23
        init_result_column(result_column_view, count);
240
241
23
        ColumnNullConstViewScalar<PType> true_column_view =
242
23
                ColumnNullConstViewScalar<PType>::create(true_column);
243
23
        ColumnNullConstViewScalar<PType> false_column_view =
244
23
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
23
        result_column_view.insert_from(true_column_view, true_selector);
247
23
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
23
        return result_column;
250
23
    }
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
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
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
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
35
                          const Selector& false_selector, size_t count) {
230
35
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
35
        DCHECK_EQ(true_column->size(), true_selector.size());
232
35
        DCHECK_EQ(false_column->size(), false_selector.size());
233
35
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
35
        auto result_column = result_type->create_column();
236
237
35
        MutableColumnNullViewScalar<PType> result_column_view =
238
35
                MutableColumnNullViewScalar<PType>::create(result_column);
239
35
        init_result_column(result_column_view, count);
240
241
35
        ColumnNullConstViewScalar<PType> true_column_view =
242
35
                ColumnNullConstViewScalar<PType>::create(true_column);
243
35
        ColumnNullConstViewScalar<PType> false_column_view =
244
35
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
35
        result_column_view.insert_from(true_column_view, true_selector);
247
35
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
35
        return result_column;
250
35
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
12
                          const Selector& false_selector, size_t count) {
230
12
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
12
        DCHECK_EQ(true_column->size(), true_selector.size());
232
12
        DCHECK_EQ(false_column->size(), false_selector.size());
233
12
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
12
        auto result_column = result_type->create_column();
236
237
12
        MutableColumnNullViewScalar<PType> result_column_view =
238
12
                MutableColumnNullViewScalar<PType>::create(result_column);
239
12
        init_result_column(result_column_view, count);
240
241
12
        ColumnNullConstViewScalar<PType> true_column_view =
242
12
                ColumnNullConstViewScalar<PType>::create(true_column);
243
12
        ColumnNullConstViewScalar<PType> false_column_view =
244
12
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
12
        result_column_view.insert_from(true_column_view, true_selector);
247
12
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
12
        return result_column;
250
12
    }
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
266
                          size_t count) {
255
266
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
266
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
266
                                             return sum + cs.selector.size();
258
266
                                         }));
259
266
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
266
        auto result_column = result_type->create_column();
261
262
266
        MutableColumnNullViewScalar<PType> result_column_view =
263
266
                MutableColumnNullViewScalar<PType>::create(result_column);
264
266
        init_result_column(result_column_view, count);
265
266
397
        for (const auto& columns_and_selector : columns_and_selectors) {
267
397
            if (columns_and_selector.output_nulls()) {
268
41
                result_column_view.insert_null(columns_and_selector.selector);
269
356
            } else {
270
356
                ColumnNullConstViewScalar<PType> from_column_view =
271
356
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
356
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
356
            }
274
397
        }
275
266
        DCHECK_EQ(result_column->size(), count);
276
266
        return result_column;
277
266
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
47
                          size_t count) {
255
47
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
47
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
47
                                             return sum + cs.selector.size();
258
47
                                         }));
259
47
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
47
        auto result_column = result_type->create_column();
261
262
47
        MutableColumnNullViewScalar<PType> result_column_view =
263
47
                MutableColumnNullViewScalar<PType>::create(result_column);
264
47
        init_result_column(result_column_view, count);
265
266
85
        for (const auto& columns_and_selector : columns_and_selectors) {
267
85
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
81
            } else {
270
81
                ColumnNullConstViewScalar<PType> from_column_view =
271
81
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
81
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
81
            }
274
85
        }
275
        DCHECK_EQ(result_column->size(), count);
276
47
        return result_column;
277
47
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
30
                          size_t count) {
255
30
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
30
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
30
                                             return sum + cs.selector.size();
258
30
                                         }));
259
30
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
30
        auto result_column = result_type->create_column();
261
262
30
        MutableColumnNullViewScalar<PType> result_column_view =
263
30
                MutableColumnNullViewScalar<PType>::create(result_column);
264
30
        init_result_column(result_column_view, count);
265
266
42
        for (const auto& columns_and_selector : columns_and_selectors) {
267
42
            if (columns_and_selector.output_nulls()) {
268
6
                result_column_view.insert_null(columns_and_selector.selector);
269
36
            } else {
270
36
                ColumnNullConstViewScalar<PType> from_column_view =
271
36
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
36
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
36
            }
274
42
        }
275
        DCHECK_EQ(result_column->size(), count);
276
30
        return result_column;
277
30
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
38
                          size_t count) {
255
38
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
38
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
38
                                             return sum + cs.selector.size();
258
38
                                         }));
259
38
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
38
        auto result_column = result_type->create_column();
261
262
38
        MutableColumnNullViewScalar<PType> result_column_view =
263
38
                MutableColumnNullViewScalar<PType>::create(result_column);
264
38
        init_result_column(result_column_view, count);
265
266
63
        for (const auto& columns_and_selector : columns_and_selectors) {
267
63
            if (columns_and_selector.output_nulls()) {
268
7
                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
63
        }
275
        DCHECK_EQ(result_column->size(), count);
276
38
        return result_column;
277
38
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
23
                          size_t count) {
255
23
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
23
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
23
                                             return sum + cs.selector.size();
258
23
                                         }));
259
23
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
23
        auto result_column = result_type->create_column();
261
262
23
        MutableColumnNullViewScalar<PType> result_column_view =
263
23
                MutableColumnNullViewScalar<PType>::create(result_column);
264
23
        init_result_column(result_column_view, count);
265
266
32
        for (const auto& columns_and_selector : columns_and_selectors) {
267
32
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
28
            } else {
270
28
                ColumnNullConstViewScalar<PType> from_column_view =
271
28
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
28
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
28
            }
274
32
        }
275
        DCHECK_EQ(result_column->size(), count);
276
23
        return result_column;
277
23
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
20
                          size_t count) {
255
20
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
20
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
20
                                             return sum + cs.selector.size();
258
20
                                         }));
259
20
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
20
        auto result_column = result_type->create_column();
261
262
20
        MutableColumnNullViewScalar<PType> result_column_view =
263
20
                MutableColumnNullViewScalar<PType>::create(result_column);
264
20
        init_result_column(result_column_view, count);
265
266
28
        for (const auto& columns_and_selector : columns_and_selectors) {
267
28
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
24
            } else {
270
24
                ColumnNullConstViewScalar<PType> from_column_view =
271
24
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
24
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
24
            }
274
28
        }
275
        DCHECK_EQ(result_column->size(), count);
276
20
        return result_column;
277
20
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
26
                          size_t count) {
255
26
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
26
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
26
                                             return sum + cs.selector.size();
258
26
                                         }));
259
26
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
26
        auto result_column = result_type->create_column();
261
262
26
        MutableColumnNullViewScalar<PType> result_column_view =
263
26
                MutableColumnNullViewScalar<PType>::create(result_column);
264
26
        init_result_column(result_column_view, count);
265
266
35
        for (const auto& columns_and_selector : columns_and_selectors) {
267
35
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
31
            } else {
270
31
                ColumnNullConstViewScalar<PType> from_column_view =
271
31
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
31
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
31
            }
274
35
        }
275
        DCHECK_EQ(result_column->size(), count);
276
26
        return result_column;
277
26
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
20
                          size_t count) {
255
20
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
20
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
20
                                             return sum + cs.selector.size();
258
20
                                         }));
259
20
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
20
        auto result_column = result_type->create_column();
261
262
20
        MutableColumnNullViewScalar<PType> result_column_view =
263
20
                MutableColumnNullViewScalar<PType>::create(result_column);
264
20
        init_result_column(result_column_view, count);
265
266
28
        for (const auto& columns_and_selector : columns_and_selectors) {
267
28
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
24
            } else {
270
24
                ColumnNullConstViewScalar<PType> from_column_view =
271
24
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
24
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
24
            }
274
28
        }
275
        DCHECK_EQ(result_column->size(), count);
276
20
        return result_column;
277
20
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
7
            } else {
270
7
                ColumnNullConstViewScalar<PType> from_column_view =
271
7
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
7
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
7
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
3
        for (const auto& columns_and_selector : columns_and_selectors) {
267
3
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
3
            } else {
270
3
                ColumnNullConstViewScalar<PType> from_column_view =
271
3
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
3
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
3
            }
274
3
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
22
                          size_t count) {
255
22
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
22
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
22
                                             return sum + cs.selector.size();
258
22
                                         }));
259
22
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
22
        auto result_column = result_type->create_column();
261
262
22
        MutableColumnNullViewScalar<PType> result_column_view =
263
22
                MutableColumnNullViewScalar<PType>::create(result_column);
264
22
        init_result_column(result_column_view, count);
265
266
34
        for (const auto& columns_and_selector : columns_and_selectors) {
267
34
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
30
            } else {
270
30
                ColumnNullConstViewScalar<PType> from_column_view =
271
30
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
30
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
30
            }
274
34
        }
275
        DCHECK_EQ(result_column->size(), count);
276
22
        return result_column;
277
22
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
27
                          size_t count) {
255
27
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
27
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
27
                                             return sum + cs.selector.size();
258
27
                                         }));
259
27
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
27
        auto result_column = result_type->create_column();
261
262
27
        MutableColumnNullViewScalar<PType> result_column_view =
263
27
                MutableColumnNullViewScalar<PType>::create(result_column);
264
27
        init_result_column(result_column_view, count);
265
266
36
        for (const auto& columns_and_selector : columns_and_selectors) {
267
36
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
32
            } else {
270
32
                ColumnNullConstViewScalar<PType> from_column_view =
271
32
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
32
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
32
            }
274
36
        }
275
        DCHECK_EQ(result_column->size(), count);
276
27
        return result_column;
277
27
    }
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
6.92k
                                   size_t count) {
283
6.92k
        result_column_view.data.resize(count);
284
6.92k
        if (result_column_view.null_map != nullptr) {
285
1.43k
            result_column_view.null_map->resize_fill(count, 0);
286
1.43k
        }
287
6.92k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
32
                                   size_t count) {
283
32
        result_column_view.data.resize(count);
284
32
        if (result_column_view.null_map != nullptr) {
285
3
            result_column_view.null_map->resize_fill(count, 0);
286
3
        }
287
32
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
5.12k
                                   size_t count) {
283
5.12k
        result_column_view.data.resize(count);
284
5.12k
        if (result_column_view.null_map != nullptr) {
285
53
            result_column_view.null_map->resize_fill(count, 0);
286
53
        }
287
5.12k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
Line
Count
Source
282
31
                                   size_t count) {
283
31
        result_column_view.data.resize(count);
284
31
        if (result_column_view.null_map != nullptr) {
285
31
            result_column_view.null_map->resize_fill(count, 0);
286
31
        }
287
31
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
1.31k
                                   size_t count) {
283
1.31k
        result_column_view.data.resize(count);
284
1.31k
        if (result_column_view.null_map != nullptr) {
285
1.09k
            result_column_view.null_map->resize_fill(count, 0);
286
1.09k
        }
287
1.31k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
122
                                   size_t count) {
283
122
        result_column_view.data.resize(count);
284
122
        if (result_column_view.null_map != nullptr) {
285
39
            result_column_view.null_map->resize_fill(count, 0);
286
39
        }
287
122
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
Line
Count
Source
282
20
                                   size_t count) {
283
20
        result_column_view.data.resize(count);
284
20
        if (result_column_view.null_map != nullptr) {
285
20
            result_column_view.null_map->resize_fill(count, 0);
286
20
        }
287
20
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
53
                                   size_t count) {
283
53
        result_column_view.data.resize(count);
284
53
        if (result_column_view.null_map != nullptr) {
285
46
            result_column_view.null_map->resize_fill(count, 0);
286
46
        }
287
53
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
26
                                   size_t count) {
283
26
        result_column_view.data.resize(count);
284
26
        if (result_column_view.null_map != nullptr) {
285
26
            result_column_view.null_map->resize_fill(count, 0);
286
26
        }
287
26
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
30
                                   size_t count) {
283
30
        result_column_view.data.resize(count);
284
30
        if (result_column_view.null_map != nullptr) {
285
15
            result_column_view.null_map->resize_fill(count, 0);
286
15
        }
287
30
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
64
                                   size_t count) {
283
64
        result_column_view.data.resize(count);
284
64
        if (result_column_view.null_map != nullptr) {
285
40
            result_column_view.null_map->resize_fill(count, 0);
286
40
        }
287
64
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_35EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_11EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_25EEEm
Line
Count
Source
282
56
                                   size_t count) {
283
56
        result_column_view.data.resize(count);
284
56
        if (result_column_view.null_map != nullptr) {
285
31
            result_column_view.null_map->resize_fill(count, 0);
286
31
        }
287
56
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
39
                                   size_t count) {
283
39
        result_column_view.data.resize(count);
284
39
        if (result_column_view.null_map != nullptr) {
285
28
            result_column_view.null_map->resize_fill(count, 0);
286
28
        }
287
39
    }
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
645
                          const Selector& false_selector, size_t count) {
296
645
        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
645
        DCHECK_EQ(true_column->size(), true_selector.size());
301
645
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
645
        auto result_column = result_type->create_column();
304
305
645
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
645
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
645
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
645
        size_t true_index = 0;
310
645
        size_t false_index = 0;
311
2.11k
        for (size_t i = 0; i < count; ++i) {
312
1.47k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
182
                result_column_view.insert_from(true_column_view, true_index++);
314
1.29k
            } else {
315
1.29k
                result_column_view.insert_from(false_column_view, false_index++);
316
1.29k
            }
317
1.47k
        }
318
319
645
        DCHECK_EQ(result_column->size(), count);
320
645
        return result_column;
321
645
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
170
                          size_t count) {
326
170
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
170
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
170
                                             return sum + cs.selector.size();
329
170
                                         }));
330
170
        struct FillColumnWithPos {
331
170
            std::optional<ColumnNullConstView> source_column;
332
170
            size_t pos_in_source; // position in the column
333
334
491
            void insert_to_column(MutableColumnNullView& result_column) const {
335
491
                if (!source_column) {
336
25
                    result_column.insert_null();
337
466
                } else {
338
466
                    result_column.insert_from(*source_column, pos_in_source);
339
466
                }
340
491
            }
341
170
        };
342
343
170
        auto mutable_result_column = result_type->create_column();
344
170
        mutable_result_column->reserve(count);
345
346
170
        MutableColumnNullView mutable_result_column_view =
347
170
                MutableColumnNullView::create(mutable_result_column);
348
349
170
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
372
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
372
            if (column_with_selector.selector.empty()) {
353
118
                continue;
354
118
            }
355
745
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
491
                size_t result_index = column_with_selector.selector[i];
357
491
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
491
                if (column_with_selector.column) {
360
466
                    ColumnNullConstView column_view =
361
466
                            ColumnNullConstView::create(column_with_selector.column);
362
466
                    fill_positions[result_index].source_column.emplace(column_view);
363
466
                    fill_positions[result_index].pos_in_source = i;
364
466
                } else {
365
25
                    fill_positions[result_index].source_column = std::nullopt;
366
25
                }
367
491
            }
368
254
        }
369
370
491
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
491
            fill_pos.insert_to_column(mutable_result_column_view);
372
491
        }
373
374
170
        DCHECK_EQ(mutable_result_column->size(), count);
375
170
        return mutable_result_column;
376
170
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
7.97k
            : _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
7.96k
    void for_each_with_selector(Func& f) const {
388
7.96k
        if (_selector != nullptr) {
389
332
            const auto& selector_data = *_selector;
390
944
            for (size_t i = 0; i < _count; ++i) {
391
612
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
612
            }
393
7.63k
        } else {
394
22.1M
            for (size_t i = 0; i < _count; ++i) {
395
22.1M
                f(index_check_const<is_const>(i), i, i);
396
22.1M
            }
397
7.63k
        }
398
7.96k
    }
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
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
43
            for (size_t i = 0; i < _count; ++i) {
395
23
                f(index_check_const<is_const>(i), i, i);
396
23
            }
397
20
        }
398
20
    }
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
454
    void for_each_with_selector(Func& f) const {
388
454
        if (_selector != nullptr) {
389
20
            const auto& selector_data = *_selector;
390
66
            for (size_t i = 0; i < _count; ++i) {
391
46
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
46
            }
393
434
        } else {
394
9.35k
            for (size_t i = 0; i < _count; ++i) {
395
8.92k
                f(index_check_const<is_const>(i), i, i);
396
8.92k
            }
397
434
        }
398
454
    }
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
777
    void for_each_with_selector(Func& f) const {
388
777
        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
777
        } else {
394
898k
            for (size_t i = 0; i < _count; ++i) {
395
897k
                f(index_check_const<is_const>(i), i, i);
396
897k
            }
397
777
        }
398
777
    }
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
5.79k
    void for_each_with_selector(Func& f) const {
388
5.79k
        if (_selector != nullptr) {
389
60
            const auto& selector_data = *_selector;
390
149
            for (size_t i = 0; i < _count; ++i) {
391
89
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
89
            }
393
5.73k
        } else {
394
21.2M
            for (size_t i = 0; i < _count; ++i) {
395
21.2M
                f(index_check_const<is_const>(i), i, i);
396
21.2M
            }
397
5.73k
        }
398
5.79k
    }
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
4
    void for_each_with_selector(Func& f) const {
388
4
        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
4
        } else {
394
14
            for (size_t i = 0; i < _count; ++i) {
395
10
                f(index_check_const<is_const>(i), i, i);
396
10
            }
397
4
        }
398
4
    }
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
56
    void for_each_with_selector(Func& f) const {
388
56
        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
56
        } else {
394
245
            for (size_t i = 0; i < _count; ++i) {
395
189
                f(index_check_const<is_const>(i), i, i);
396
189
            }
397
56
        }
398
56
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
25
    void for_each_with_selector(Func& f) const {
388
25
        if (_selector != nullptr) {
389
8
            const auto& selector_data = *_selector;
390
24
            for (size_t i = 0; i < _count; ++i) {
391
16
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
16
            }
393
17
        } else {
394
69
            for (size_t i = 0; i < _count; ++i) {
395
52
                f(index_check_const<is_const>(i), i, i);
396
52
            }
397
17
        }
398
25
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
14
    void for_each_with_selector(Func& f) const {
388
14
        if (_selector != nullptr) {
389
14
            const auto& selector_data = *_selector;
390
42
            for (size_t i = 0; i < _count; ++i) {
391
28
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
28
            }
393
14
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
14
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
107
    void for_each_with_selector(Func& f) const {
388
107
        if (_selector != nullptr) {
389
107
            const auto& selector_data = *_selector;
390
368
            for (size_t i = 0; i < _count; ++i) {
391
261
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
261
            }
393
107
        } 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
107
    }
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
3
    void for_each_with_selector(Func& f) const {
388
3
        if (_selector != nullptr) {
389
3
            const auto& selector_data = *_selector;
390
9
            for (size_t i = 0; i < _count; ++i) {
391
6
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
6
            }
393
3
        } 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
3
    }
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
7
    void for_each_with_selector(Func& f) const {
388
7
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
2
            for (size_t i = 0; i < _count; ++i) {
391
1
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1
            }
393
6
        } else {
394
12
            for (size_t i = 0; i < _count; ++i) {
395
6
                f(index_check_const<is_const>(i), i, i);
396
6
            }
397
6
        }
398
7
    }
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
246
    void for_each_with_selector(Func& f) const {
388
246
        if (_selector != nullptr) {
389
6
            const auto& selector_data = *_selector;
390
15
            for (size_t i = 0; i < _count; ++i) {
391
9
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
9
            }
393
240
        } else {
394
1.57k
            for (size_t i = 0; i < _count; ++i) {
395
1.33k
                f(index_check_const<is_const>(i), i, i);
396
1.33k
            }
397
240
        }
398
246
    }
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
4
    void for_each_with_selector(Func& f) const {
388
4
        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
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
4
    }
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
341
    void for_each_with_selector(Func& f) const {
388
341
        if (_selector != nullptr) {
389
5
            const auto& selector_data = *_selector;
390
10
            for (size_t i = 0; i < _count; ++i) {
391
5
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
5
            }
393
336
        } else {
394
9.30k
            for (size_t i = 0; i < _count; ++i) {
395
8.97k
                f(index_check_const<is_const>(i), i, i);
396
8.97k
            }
397
336
        }
398
341
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
27
    void for_each_with_selector(Func& f) const {
388
27
        if (_selector != nullptr) {
389
27
            const auto& selector_data = *_selector;
390
55
            for (size_t i = 0; i < _count; ++i) {
391
28
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
28
            }
393
27
        } 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
27
    }
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
36
    void for_each_with_selector(Func& f) const {
388
36
        if (_selector != nullptr) {
389
36
            const auto& selector_data = *_selector;
390
77
            for (size_t i = 0; i < _count; ++i) {
391
41
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
41
            }
393
36
        } 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
36
    }
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
40
    void for_each_with_selector(Func& f) const {
388
40
        if (_selector != nullptr) {
389
40
            const auto& selector_data = *_selector;
390
117
            for (size_t i = 0; i < _count; ++i) {
391
77
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
77
            }
393
40
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
40
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_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
5
    void for_each_with_selector(Func& f) const {
388
5
        if (_selector != nullptr) {
389
5
            const auto& selector_data = *_selector;
390
10
            for (size_t i = 0; i < _count; ++i) {
391
5
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
5
            }
393
5
        } 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
5
    }
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
7.26k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
7.26k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
7.26k
                                      size_t count) {
415
7.26k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
7.26k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
7.26k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
7.25k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
7.25k
        if (this->null_map != nullptr) {
422
655
            const auto& null_map_data = *(this->null_map);
423
9.48k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
9.48k
                if (null_map_data[i]) {
425
163
                    null_func(self_index, executor_index);
426
9.31k
                } else {
427
9.31k
                    if (this->data[i]) {
428
1.60k
                        true_func(self_index, executor_index);
429
7.70k
                    } else {
430
7.70k
                        false_func(self_index, executor_index);
431
7.70k
                    }
432
9.31k
                }
433
9.48k
            };
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
8.99k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
8.99k
                if (null_map_data[i]) {
425
90
                    null_func(self_index, executor_index);
426
8.90k
                } else {
427
8.90k
                    if (this->data[i]) {
428
1.45k
                        true_func(self_index, executor_index);
429
7.44k
                    } else {
430
7.44k
                        false_func(self_index, executor_index);
431
7.44k
                    }
432
8.90k
                }
433
8.99k
            };
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
199
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
199
                if (null_map_data[i]) {
425
26
                    null_func(self_index, executor_index);
426
173
                } else {
427
173
                    if (this->data[i]) {
428
50
                        true_func(self_index, executor_index);
429
123
                    } else {
430
123
                        false_func(self_index, executor_index);
431
123
                    }
432
173
                }
433
199
            };
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
289
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
289
                if (null_map_data[i]) {
425
47
                    null_func(self_index, executor_index);
426
242
                } else {
427
242
                    if (this->data[i]) {
428
101
                        true_func(self_index, executor_index);
429
141
                    } else {
430
141
                        false_func(self_index, executor_index);
431
141
                    }
432
242
                }
433
289
            };
434
655
            if (is_const) {
435
38
                for_each_with_selector<true>(update);
436
617
            } else {
437
617
                for_each_with_selector<false>(update);
438
617
            }
439
6.60k
        } else {
440
            // non-nullable condition column
441
22.1M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
22.1M
                if (this->data[i]) {
443
20.0M
                    true_func(self_index, executor_index);
444
20.0M
                } else {
445
2.09M
                    false_func(self_index, executor_index);
446
2.09M
                }
447
22.1M
            };
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
22.1M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
22.1M
                if (this->data[i]) {
443
20.0M
                    true_func(self_index, executor_index);
444
20.0M
                } else {
445
2.09M
                    false_func(self_index, executor_index);
446
2.09M
                }
447
22.1M
            };
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
68
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
68
                if (this->data[i]) {
443
17
                    true_func(self_index, executor_index);
444
51
                } else {
445
51
                    false_func(self_index, executor_index);
446
51
                }
447
68
            };
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
6
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
6
                if (this->data[i]) {
443
3
                    true_func(self_index, executor_index);
444
3
                } else {
445
3
                    false_func(self_index, executor_index);
446
3
                }
447
6
            };
448
6.60k
            if (is_const) {
449
777
                for_each_with_selector<true>(update);
450
5.82k
            } else {
451
5.82k
                for_each_with_selector<false>(update);
452
5.82k
            }
453
6.60k
        }
454
7.25k
    }
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
7.04k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
7.04k
        if (this->null_map != nullptr) {
422
474
            const auto& null_map_data = *(this->null_map);
423
474
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
474
                if (null_map_data[i]) {
425
474
                    null_func(self_index, executor_index);
426
474
                } else {
427
474
                    if (this->data[i]) {
428
474
                        true_func(self_index, executor_index);
429
474
                    } else {
430
474
                        false_func(self_index, executor_index);
431
474
                    }
432
474
                }
433
474
            };
434
474
            if (is_const) {
435
20
                for_each_with_selector<true>(update);
436
454
            } else {
437
454
                for_each_with_selector<false>(update);
438
454
            }
439
6.57k
        } else {
440
            // non-nullable condition column
441
6.57k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
6.57k
                if (this->data[i]) {
443
6.57k
                    true_func(self_index, executor_index);
444
6.57k
                } else {
445
6.57k
                    false_func(self_index, executor_index);
446
6.57k
                }
447
6.57k
            };
448
6.57k
            if (is_const) {
449
777
                for_each_with_selector<true>(update);
450
5.79k
            } else {
451
5.79k
                for_each_with_selector<false>(update);
452
5.79k
            }
453
6.57k
        }
454
7.04k
    }
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
85
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
85
        if (this->null_map != nullptr) {
422
60
            const auto& null_map_data = *(this->null_map);
423
60
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
60
                if (null_map_data[i]) {
425
60
                    null_func(self_index, executor_index);
426
60
                } else {
427
60
                    if (this->data[i]) {
428
60
                        true_func(self_index, executor_index);
429
60
                    } else {
430
60
                        false_func(self_index, executor_index);
431
60
                    }
432
60
                }
433
60
            };
434
60
            if (is_const) {
435
4
                for_each_with_selector<true>(update);
436
56
            } else {
437
56
                for_each_with_selector<false>(update);
438
56
            }
439
60
        } else {
440
            // non-nullable condition column
441
25
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
25
                if (this->data[i]) {
443
25
                    true_func(self_index, executor_index);
444
25
                } else {
445
25
                    false_func(self_index, executor_index);
446
25
                }
447
25
            };
448
25
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
25
            } else {
451
25
                for_each_with_selector<false>(update);
452
25
            }
453
25
        }
454
85
    }
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
124
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
124
        if (this->null_map != nullptr) {
422
121
            const auto& null_map_data = *(this->null_map);
423
121
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
121
                if (null_map_data[i]) {
425
121
                    null_func(self_index, executor_index);
426
121
                } else {
427
121
                    if (this->data[i]) {
428
121
                        true_func(self_index, executor_index);
429
121
                    } else {
430
121
                        false_func(self_index, executor_index);
431
121
                    }
432
121
                }
433
121
            };
434
121
            if (is_const) {
435
14
                for_each_with_selector<true>(update);
436
107
            } else {
437
107
                for_each_with_selector<false>(update);
438
107
            }
439
121
        } else {
440
            // non-nullable condition column
441
3
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
3
                if (this->data[i]) {
443
3
                    true_func(self_index, executor_index);
444
3
                } else {
445
3
                    false_func(self_index, executor_index);
446
3
                }
447
3
            };
448
3
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
3
            } else {
451
3
                for_each_with_selector<false>(update);
452
3
            }
453
3
        }
454
124
    }
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
711
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
710
                                          size_t count) {
465
710
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
710
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
710
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
706
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
706
        if (this->null_map != nullptr) {
472
661
            const auto& null_map_data = *(this->null_map);
473
10.4k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
10.4k
                if (null_map_data[i]) {
475
244
                    null_func(self_index, executor_index);
476
10.1k
                } else {
477
10.1k
                    not_null_func(self_index, executor_index);
478
10.1k
                }
479
10.4k
            };
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.35k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.35k
                if (null_map_data[i]) {
475
45
                    null_func(self_index, executor_index);
476
1.30k
                } else {
477
1.30k
                    not_null_func(self_index, executor_index);
478
1.30k
                }
479
1.35k
            };
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.98k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
8.98k
                if (null_map_data[i]) {
475
144
                    null_func(self_index, executor_index);
476
8.83k
                } else {
477
8.83k
                    not_null_func(self_index, executor_index);
478
8.83k
                }
479
8.98k
            };
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
69
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
69
                if (null_map_data[i]) {
475
55
                    null_func(self_index, executor_index);
476
55
                } else {
477
14
                    not_null_func(self_index, executor_index);
478
14
                }
479
69
            };
480
661
            if (is_const) {
481
38
                for_each_with_selector<true>(update);
482
623
            } else {
483
623
                for_each_with_selector<false>(update);
484
623
            }
485
661
        } else {
486
            // non-nullable condition column
487
82
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
82
                not_null_func(self_index, executor_index);
489
82
            };
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
82
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
82
                not_null_func(self_index, executor_index);
489
82
            };
490
45
            if (is_const) {
491
40
                for_each_with_selector<true>(update);
492
40
            } else {
493
5
                for_each_with_selector<false>(update);
494
5
            }
495
45
        }
496
706
    }
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
253
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
253
        if (this->null_map != nullptr) {
472
253
            const auto& null_map_data = *(this->null_map);
473
253
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
253
                if (null_map_data[i]) {
475
253
                    null_func(self_index, executor_index);
476
253
                } else {
477
253
                    not_null_func(self_index, executor_index);
478
253
                }
479
253
            };
480
253
            if (is_const) {
481
7
                for_each_with_selector<true>(update);
482
246
            } else {
483
246
                for_each_with_selector<false>(update);
484
246
            }
485
253
        } 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
253
    }
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
345
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
345
        if (this->null_map != nullptr) {
472
345
            const auto& null_map_data = *(this->null_map);
473
345
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
345
                if (null_map_data[i]) {
475
345
                    null_func(self_index, executor_index);
476
345
                } else {
477
345
                    not_null_func(self_index, executor_index);
478
345
                }
479
345
            };
480
345
            if (is_const) {
481
4
                for_each_with_selector<true>(update);
482
341
            } else {
483
341
                for_each_with_selector<false>(update);
484
341
            }
485
345
        } 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
345
    }
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
108
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
108
        if (this->null_map != nullptr) {
472
63
            const auto& null_map_data = *(this->null_map);
473
63
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
63
                if (null_map_data[i]) {
475
63
                    null_func(self_index, executor_index);
476
63
                } else {
477
63
                    not_null_func(self_index, executor_index);
478
63
                }
479
63
            };
480
63
            if (is_const) {
481
27
                for_each_with_selector<true>(update);
482
36
            } else {
483
36
                for_each_with_selector<false>(update);
484
36
            }
485
63
        } else {
486
            // non-nullable condition column
487
45
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
45
                not_null_func(self_index, executor_index);
489
45
            };
490
45
            if (is_const) {
491
40
                for_each_with_selector<true>(update);
492
40
            } else {
493
5
                for_each_with_selector<false>(update);
494
5
            }
495
45
        }
496
108
    }
497
};
498
499
} // namespace doris