Coverage Report

Created: 2026-06-24 03:41

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/short_circuit_util.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include "core/block/column_with_type_and_name.h"
20
#include "core/column/column.h"
21
#include "core/column/column_const.h"
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_vector.h"
24
#include "core/field.h"
25
#include "exprs/vexpr.h"
26
27
namespace doris {
28
29
// Used to store a column along with its null_map and whether it is a const column.
30
// If the input column is not nullable, then null_map will be nullptr.
31
struct ColumnNullConstView {
32
    const IColumn& column;
33
    const NullMap* null_map;
34
    const bool is_const;
35
36
2.50k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
2.50k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
2.50k
        if (const auto* nullable_column =
40
2.50k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.50k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.50k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.50k
                                        .is_const = is_const};
44
1.50k
        } else {
45
997
            return ColumnNullConstView {
46
997
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
997
        }
48
2.50k
    }
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
26.0k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
26.0k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
26.0k
        const NullMap* null_map = nullptr;
64
26.0k
        const ArrayType* data = nullptr;
65
26.0k
        if (const auto* nullable_column =
66
26.0k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6.43k
            null_map = &nullable_column->get_null_map_data();
68
6.43k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6.43k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
19.6k
        } else {
71
19.6k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
19.6k
        }
73
74
26.0k
        return ColumnNullConstViewScalar {
75
26.0k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
26.0k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
10.6k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
10.6k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
10.6k
        const NullMap* null_map = nullptr;
64
10.6k
        const ArrayType* data = nullptr;
65
10.6k
        if (const auto* nullable_column =
66
10.6k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
4.77k
            null_map = &nullable_column->get_null_map_data();
68
4.77k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
4.77k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
5.88k
        } else {
71
5.88k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
5.88k
        }
73
74
10.6k
        return ColumnNullConstViewScalar {
75
10.6k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
10.6k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
13.1k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
13.1k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
13.1k
        const NullMap* null_map = nullptr;
64
13.1k
        const ArrayType* data = nullptr;
65
13.1k
        if (const auto* nullable_column =
66
13.1k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
357
            null_map = &nullable_column->get_null_map_data();
68
357
            const auto& nested_from_column = nullable_column->get_nested_column();
69
357
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
12.8k
        } else {
71
12.8k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
12.8k
        }
73
74
13.1k
        return ColumnNullConstViewScalar {
75
13.1k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
13.1k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
12
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
12
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
12
        const NullMap* null_map = nullptr;
64
12
        const ArrayType* data = nullptr;
65
12
        if (const auto* nullable_column =
66
12
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
12
            null_map = &nullable_column->get_null_map_data();
68
12
            const auto& nested_from_column = nullable_column->get_nested_column();
69
12
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
12
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
12
        return ColumnNullConstViewScalar {
75
12
                .data = *data, .null_map = null_map, .is_const = is_const};
76
12
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.18k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.18k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.18k
        const NullMap* null_map = nullptr;
64
1.18k
        const ArrayType* data = nullptr;
65
1.18k
        if (const auto* nullable_column =
66
1.18k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
880
            null_map = &nullable_column->get_null_map_data();
68
880
            const auto& nested_from_column = nullable_column->get_nested_column();
69
880
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
880
        } else {
71
308
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
308
        }
73
74
1.18k
        return ColumnNullConstViewScalar {
75
1.18k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.18k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
295
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
295
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
295
        const NullMap* null_map = nullptr;
64
295
        const ArrayType* data = nullptr;
65
295
        if (const auto* nullable_column =
66
295
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
132
            null_map = &nullable_column->get_null_map_data();
68
132
            const auto& nested_from_column = nullable_column->get_nested_column();
69
132
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
163
        } else {
71
163
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
163
        }
73
74
295
        return ColumnNullConstViewScalar {
75
295
                .data = *data, .null_map = null_map, .is_const = is_const};
76
295
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
6
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
6
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
6
        const NullMap* null_map = nullptr;
64
6
        const ArrayType* data = nullptr;
65
6
        if (const auto* nullable_column =
66
6
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6
            null_map = &nullable_column->get_null_map_data();
68
6
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
6
        return ColumnNullConstViewScalar {
75
6
                .data = *data, .null_map = null_map, .is_const = is_const};
76
6
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
239
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
239
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
239
        const NullMap* null_map = nullptr;
64
239
        const ArrayType* data = nullptr;
65
239
        if (const auto* nullable_column =
66
239
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
163
            null_map = &nullable_column->get_null_map_data();
68
163
            const auto& nested_from_column = nullable_column->get_nested_column();
69
163
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
163
        } else {
71
76
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
76
        }
73
74
239
        return ColumnNullConstViewScalar {
75
239
                .data = *data, .null_map = null_map, .is_const = is_const};
76
239
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
10
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
10
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
10
        const NullMap* null_map = nullptr;
64
10
        const ArrayType* data = nullptr;
65
10
        if (const auto* nullable_column =
66
10
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
10
            null_map = &nullable_column->get_null_map_data();
68
10
            const auto& nested_from_column = nullable_column->get_nested_column();
69
10
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
10
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
10
        return ColumnNullConstViewScalar {
75
10
                .data = *data, .null_map = null_map, .is_const = is_const};
76
10
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
149
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
149
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
149
        const NullMap* null_map = nullptr;
64
149
        const ArrayType* data = nullptr;
65
149
        if (const auto* nullable_column =
66
149
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
31
            null_map = &nullable_column->get_null_map_data();
68
31
            const auto& nested_from_column = nullable_column->get_nested_column();
69
31
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
118
        } else {
71
118
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
118
        }
73
74
149
        return ColumnNullConstViewScalar {
75
149
                .data = *data, .null_map = null_map, .is_const = is_const};
76
149
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
211
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
211
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
211
        const NullMap* null_map = nullptr;
64
211
        const ArrayType* data = nullptr;
65
211
        if (const auto* nullable_column =
66
211
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
35
            null_map = &nullable_column->get_null_map_data();
68
35
            const auto& nested_from_column = nullable_column->get_nested_column();
69
35
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
176
        } else {
71
176
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
176
        }
73
74
211
        return ColumnNullConstViewScalar {
75
211
                .data = *data, .null_map = null_map, .is_const = is_const};
76
211
    }
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
64
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
64
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
64
        const NullMap* null_map = nullptr;
64
64
        const ArrayType* data = nullptr;
65
64
        if (const auto* nullable_column =
66
64
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
9
            null_map = &nullable_column->get_null_map_data();
68
9
            const auto& nested_from_column = nullable_column->get_nested_column();
69
9
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
55
        } else {
71
55
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
55
        }
73
74
64
        return ColumnNullConstViewScalar {
75
64
                .data = *data, .null_map = null_map, .is_const = is_const};
76
64
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
6
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
6
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
6
        const NullMap* null_map = nullptr;
64
6
        const ArrayType* data = nullptr;
65
6
        if (const auto* nullable_column =
66
6
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6
            null_map = &nullable_column->get_null_map_data();
68
6
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
6
        return ColumnNullConstViewScalar {
75
6
                .data = *data, .null_map = null_map, .is_const = is_const};
76
6
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_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
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4
        const NullMap* null_map = nullptr;
64
4
        const ArrayType* data = nullptr;
65
4
        if (const auto* nullable_column =
66
4
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
4
            null_map = &nullable_column->get_null_map_data();
68
4
            const auto& nested_from_column = nullable_column->get_nested_column();
69
4
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
4
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
4
        return ColumnNullConstViewScalar {
75
4
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
820
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
820
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
411
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
411
                                          .null_map = &nullable_column->get_null_map_data()};
88
411
        } else {
89
409
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
409
        }
91
820
    }
92
93
1.81k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
1.81k
        auto index = index_check_const(i, from.is_const);
95
1.81k
        column.insert_from(from.column, index);
96
1.81k
        if (null_map != nullptr && from.null_map != nullptr) {
97
895
            null_map->push_back((*from.null_map)[index]);
98
918
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
111
            null_map->push_back(0);
101
111
        }
102
1.81k
    }
103
104
29
    void insert_null() {
105
29
        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
29
        column.insert_default();
111
29
        null_map->push_back(1);
112
29
    }
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.38k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
6.38k
        ColumnType* data_column = nullptr;
125
6.38k
        NullMap* null_map = nullptr;
126
6.38k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
992
            null_map = &nullable_column->get_null_map_data();
128
992
            auto& nested_column = nullable_column->get_nested_column();
129
992
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5.39k
        } else {
131
5.39k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5.39k
        }
133
134
6.38k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
6.38k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
112
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
112
        ColumnType* data_column = nullptr;
125
112
        NullMap* null_map = nullptr;
126
112
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
2
            null_map = &nullable_column->get_null_map_data();
128
2
            auto& nested_column = nullable_column->get_nested_column();
129
2
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
110
        } else {
131
110
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
110
        }
133
134
112
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
112
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5.13k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5.13k
        ColumnType* data_column = nullptr;
125
5.13k
        NullMap* null_map = nullptr;
126
5.13k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
347
            null_map = &nullable_column->get_null_map_data();
128
347
            auto& nested_column = nullable_column->get_nested_column();
129
347
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
4.78k
        } else {
131
4.78k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
4.78k
        }
133
134
5.13k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5.13k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
601
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
601
        ColumnType* data_column = nullptr;
125
601
        NullMap* null_map = nullptr;
126
601
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
423
            null_map = &nullable_column->get_null_map_data();
128
423
            auto& nested_column = nullable_column->get_nested_column();
129
423
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
423
        } else {
131
178
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
178
        }
133
134
601
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
601
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
153
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
153
        ColumnType* data_column = nullptr;
125
153
        NullMap* null_map = nullptr;
126
153
        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
107
        } else {
131
107
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
107
        }
133
134
153
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
153
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5
        ColumnType* data_column = nullptr;
125
5
        NullMap* null_map = nullptr;
126
5
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
5
            null_map = &nullable_column->get_null_map_data();
128
5
            auto& nested_column = nullable_column->get_nested_column();
129
5
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
5
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_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
99
            null_map = &nullable_column->get_null_map_data();
128
99
            auto& nested_column = nullable_column->get_nested_column();
129
99
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
99
        } else {
131
23
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
23
        }
133
134
122
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
122
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
7
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
7
        ColumnType* data_column = nullptr;
125
7
        NullMap* null_map = nullptr;
126
7
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
7
            null_map = &nullable_column->get_null_map_data();
128
7
            auto& nested_column = nullable_column->get_nested_column();
129
7
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
7
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
7
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
92
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
92
        ColumnType* data_column = nullptr;
125
92
        NullMap* null_map = nullptr;
126
92
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
11
            null_map = &nullable_column->get_null_map_data();
128
11
            auto& nested_column = nullable_column->get_nested_column();
129
11
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
81
        } else {
131
81
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
81
        }
133
134
92
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
92
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
106
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
106
        ColumnType* data_column = nullptr;
125
106
        NullMap* null_map = nullptr;
126
106
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
18
            null_map = &nullable_column->get_null_map_data();
128
18
            auto& nested_column = nullable_column->get_nested_column();
129
18
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
88
        } else {
131
88
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
88
        }
133
134
106
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
106
    }
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
33
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
33
        ColumnType* data_column = nullptr;
125
33
        NullMap* null_map = nullptr;
126
33
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
7
            null_map = &nullable_column->get_null_map_data();
128
7
            auto& nested_column = nullable_column->get_nested_column();
129
7
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
26
        } else {
131
26
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
26
        }
133
134
33
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
33
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5
        ColumnType* data_column = nullptr;
125
5
        NullMap* null_map = nullptr;
126
5
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
5
            null_map = &nullable_column->get_null_map_data();
128
5
            auto& nested_column = nullable_column->get_nested_column();
129
5
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
5
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5
    }
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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2
        ColumnType* data_column = nullptr;
125
2
        NullMap* null_map = nullptr;
126
2
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
2
            null_map = &nullable_column->get_null_map_data();
128
2
            auto& nested_column = nullable_column->get_nested_column();
129
2
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
15.5k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
15.5k
        auto& result_data = data;
139
15.5k
        const auto& from_data = from.data;
140
141
15.5k
        auto* result_null_map_data = null_map;
142
15.5k
        const auto* from_null_map_data = from.null_map;
143
144
15.5k
        if (from.is_const) {
145
5.02k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5.02k
                                     from_null_map_data, selector);
147
10.5k
        } else {
148
10.5k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
10.5k
                                      from_null_map_data, selector);
150
10.5k
        }
151
15.5k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
224
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
224
        auto& result_data = data;
139
224
        const auto& from_data = from.data;
140
141
224
        auto* result_null_map_data = null_map;
142
224
        const auto* from_null_map_data = from.null_map;
143
144
224
        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
222
        } else {
148
222
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
222
                                      from_null_map_data, selector);
150
222
        }
151
224
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
13.1k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
13.1k
        auto& result_data = data;
139
13.1k
        const auto& from_data = from.data;
140
141
13.1k
        auto* result_null_map_data = null_map;
142
13.1k
        const auto* from_null_map_data = from.null_map;
143
144
13.1k
        if (from.is_const) {
145
4.46k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4.46k
                                     from_null_map_data, selector);
147
8.70k
        } else {
148
8.70k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
8.70k
                                      from_null_map_data, selector);
150
8.70k
        }
151
13.1k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
12
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
12
        auto& result_data = data;
139
12
        const auto& from_data = from.data;
140
141
12
        auto* result_null_map_data = null_map;
142
12
        const auto* from_null_map_data = from.null_map;
143
144
12
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
12
        } else {
148
12
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12
                                      from_null_map_data, selector);
150
12
        }
151
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.18k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.18k
        auto& result_data = data;
139
1.18k
        const auto& from_data = from.data;
140
141
1.18k
        auto* result_null_map_data = null_map;
142
1.18k
        const auto* from_null_map_data = from.null_map;
143
144
1.18k
        if (from.is_const) {
145
298
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
298
                                     from_null_map_data, selector);
147
886
        } else {
148
886
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
886
                                      from_null_map_data, selector);
150
886
        }
151
1.18k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
295
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
295
        auto& result_data = data;
139
295
        const auto& from_data = from.data;
140
141
295
        auto* result_null_map_data = null_map;
142
295
        const auto* from_null_map_data = from.null_map;
143
144
295
        if (from.is_const) {
145
58
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
58
                                     from_null_map_data, selector);
147
237
        } else {
148
237
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
237
                                      from_null_map_data, selector);
150
237
        }
151
295
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
6
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
6
        auto& result_data = data;
139
6
        const auto& from_data = from.data;
140
141
6
        auto* result_null_map_data = null_map;
142
6
        const auto* from_null_map_data = from.null_map;
143
144
6
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
6
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
239
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
239
        auto& result_data = data;
139
239
        const auto& from_data = from.data;
140
141
239
        auto* result_null_map_data = null_map;
142
239
        const auto* from_null_map_data = from.null_map;
143
144
239
        if (from.is_const) {
145
63
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
63
                                     from_null_map_data, selector);
147
176
        } else {
148
176
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
176
                                      from_null_map_data, selector);
150
176
        }
151
239
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
10
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
10
        auto& result_data = data;
139
10
        const auto& from_data = from.data;
140
141
10
        auto* result_null_map_data = null_map;
142
10
        const auto* from_null_map_data = from.null_map;
143
144
10
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
10
        } else {
148
10
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
10
                                      from_null_map_data, selector);
150
10
        }
151
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
149
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
149
        auto& result_data = data;
139
149
        const auto& from_data = from.data;
140
141
149
        auto* result_null_map_data = null_map;
142
149
        const auto* from_null_map_data = from.null_map;
143
144
149
        if (from.is_const) {
145
29
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
29
                                     from_null_map_data, selector);
147
120
        } else {
148
120
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
120
                                      from_null_map_data, selector);
150
120
        }
151
149
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
211
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
211
        auto& result_data = data;
139
211
        const auto& from_data = from.data;
140
141
211
        auto* result_null_map_data = null_map;
142
211
        const auto* from_null_map_data = from.null_map;
143
144
211
        if (from.is_const) {
145
97
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
97
                                     from_null_map_data, selector);
147
114
        } else {
148
114
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
114
                                      from_null_map_data, selector);
150
114
        }
151
211
    }
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
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
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
62
        } else {
148
62
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
62
                                      from_null_map_data, selector);
150
62
        }
151
64
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
6
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
6
        auto& result_data = data;
139
6
        const auto& from_data = from.data;
140
141
6
        auto* result_null_map_data = null_map;
142
6
        const auto* from_null_map_data = from.null_map;
143
144
6
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
6
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
4
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
4
        auto& result_data = data;
139
4
        const auto& from_data = from.data;
140
141
4
        auto* result_null_map_data = null_map;
142
4
        const auto* from_null_map_data = from.null_map;
143
144
4
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
2
        } else {
148
2
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
2
                                      from_null_map_data, selector);
150
2
        }
151
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
15.5k
                                   const Selector& selector) {
157
15.5k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
15.5k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.40k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.40k
        }
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
15.5k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
222
                                   const Selector& selector) {
157
222
        insert_with_selector<is_const>(result_data, from_data, selector);
158
222
        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
222
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4.46k
                                   const Selector& selector) {
157
4.46k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4.46k
        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.46k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
8.70k
                                   const Selector& selector) {
157
8.70k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
8.70k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
345
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
345
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
8.70k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
12
                                   const Selector& selector) {
157
12
        insert_with_selector<is_const>(result_data, from_data, selector);
158
12
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
298
                                   const Selector& selector) {
157
298
        insert_with_selector<is_const>(result_data, from_data, selector);
158
298
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
258
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
258
        }
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
298
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
886
                                   const Selector& selector) {
157
886
        insert_with_selector<is_const>(result_data, from_data, selector);
158
886
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
478
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
478
        }
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
886
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
58
                                   const Selector& selector) {
157
58
        insert_with_selector<is_const>(result_data, from_data, selector);
158
58
        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
58
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
237
                                   const Selector& selector) {
157
237
        insert_with_selector<is_const>(result_data, from_data, selector);
158
237
        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
237
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
63
                                   const Selector& selector) {
157
63
        insert_with_selector<is_const>(result_data, from_data, selector);
158
63
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
63
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
176
                                   const Selector& selector) {
157
176
        insert_with_selector<is_const>(result_data, from_data, selector);
158
176
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
122
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
122
        }
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
176
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
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_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
29
                                   const Selector& selector) {
157
29
        insert_with_selector<is_const>(result_data, from_data, selector);
158
29
        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
29
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
120
                                   const Selector& selector) {
157
120
        insert_with_selector<is_const>(result_data, from_data, selector);
158
120
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
15
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
15
        }
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
120
    }
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
97
                                   const Selector& selector) {
157
97
        insert_with_selector<is_const>(result_data, from_data, selector);
158
97
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
9
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
9
        }
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
97
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
114
                                   const Selector& selector) {
157
114
        insert_with_selector<is_const>(result_data, from_data, selector);
158
114
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
23
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
23
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
114
    }
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
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_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
62
                                   const Selector& selector) {
157
62
        insert_with_selector<is_const>(result_data, from_data, selector);
158
62
        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
62
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
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_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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
16.9k
                                     const Selector& selector) {
169
10.1M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.1M
            auto index = selector[i];
171
10.1M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.1M
        }
173
16.9k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
10
        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
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
224
                                     const Selector& selector) {
169
631
        for (size_t i = 0; i < selector.size(); ++i) {
170
407
            auto index = selector[i];
171
407
            result_data[index] = data[index_check_const<is_const>(i)];
172
407
        }
173
224
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4.46k
                                     const Selector& selector) {
169
10.0M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.0M
            auto index = selector[i];
171
10.0M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.0M
        }
173
4.46k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
3
            auto index = selector[i];
171
3
            result_data[index] = data[index_check_const<is_const>(i)];
172
3
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
8.70k
                                     const Selector& selector) {
169
11.1k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.43k
            auto index = selector[i];
171
2.43k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.43k
        }
173
8.70k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
345
                                     const Selector& selector) {
169
2.11k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.77k
            auto index = selector[i];
171
1.77k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.77k
        }
173
345
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
298
                                     const Selector& selector) {
169
1.35k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.05k
            auto index = selector[i];
171
1.05k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.05k
        }
173
298
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
258
                                     const Selector& selector) {
169
1.24k
        for (size_t i = 0; i < selector.size(); ++i) {
170
991
            auto index = selector[i];
171
991
            result_data[index] = data[index_check_const<is_const>(i)];
172
991
        }
173
258
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
886
                                     const Selector& selector) {
169
2.27k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.38k
            auto index = selector[i];
171
1.38k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.38k
        }
173
886
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
478
                                     const Selector& selector) {
169
882
        for (size_t i = 0; i < selector.size(); ++i) {
170
404
            auto index = selector[i];
171
404
            result_data[index] = data[index_check_const<is_const>(i)];
172
404
        }
173
478
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
58
                                     const Selector& selector) {
169
210
        for (size_t i = 0; i < selector.size(); ++i) {
170
152
            auto index = selector[i];
171
152
            result_data[index] = data[index_check_const<is_const>(i)];
172
152
        }
173
58
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
26
        for (size_t i = 0; i < selector.size(); ++i) {
170
16
            auto index = selector[i];
171
16
            result_data[index] = data[index_check_const<is_const>(i)];
172
16
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
237
                                     const Selector& selector) {
169
840
        for (size_t i = 0; i < selector.size(); ++i) {
170
603
            auto index = selector[i];
171
603
            result_data[index] = data[index_check_const<is_const>(i)];
172
603
        }
173
237
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
54
                                     const Selector& selector) {
169
128
        for (size_t i = 0; i < selector.size(); ++i) {
170
74
            auto index = selector[i];
171
74
            result_data[index] = data[index_check_const<is_const>(i)];
172
74
        }
173
54
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
63
                                     const Selector& selector) {
169
375
        for (size_t i = 0; i < selector.size(); ++i) {
170
312
            auto index = selector[i];
171
312
            result_data[index] = data[index_check_const<is_const>(i)];
172
312
        }
173
63
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
26
        for (size_t i = 0; i < selector.size(); ++i) {
170
14
            auto index = selector[i];
171
14
            result_data[index] = data[index_check_const<is_const>(i)];
172
14
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
176
                                     const Selector& selector) {
169
411
        for (size_t i = 0; i < selector.size(); ++i) {
170
235
            auto index = selector[i];
171
235
            result_data[index] = data[index_check_const<is_const>(i)];
172
235
        }
173
176
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
122
                                     const Selector& selector) {
169
320
        for (size_t i = 0; i < selector.size(); ++i) {
170
198
            auto index = selector[i];
171
198
            result_data[index] = data[index_check_const<is_const>(i)];
172
198
        }
173
122
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
28
        for (size_t i = 0; i < selector.size(); ++i) {
170
18
            auto index = selector[i];
171
18
            result_data[index] = data[index_check_const<is_const>(i)];
172
18
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
28
        for (size_t i = 0; i < selector.size(); ++i) {
170
18
            auto index = selector[i];
171
18
            result_data[index] = data[index_check_const<is_const>(i)];
172
18
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
29
                                     const Selector& selector) {
169
64
        for (size_t i = 0; i < selector.size(); ++i) {
170
35
            auto index = selector[i];
171
35
            result_data[index] = data[index_check_const<is_const>(i)];
172
35
        }
173
29
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
16
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
120
                                     const Selector& selector) {
169
251
        for (size_t i = 0; i < selector.size(); ++i) {
170
131
            auto index = selector[i];
171
131
            result_data[index] = data[index_check_const<is_const>(i)];
172
131
        }
173
120
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
15
                                     const Selector& selector) {
169
21
        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
15
    }
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
97
                                     const Selector& selector) {
169
26.4k
        for (size_t i = 0; i < selector.size(); ++i) {
170
26.3k
            auto index = selector[i];
171
26.3k
            result_data[index] = data[index_check_const<is_const>(i)];
172
26.3k
        }
173
97
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
9
                                     const Selector& selector) {
169
27
        for (size_t i = 0; i < selector.size(); ++i) {
170
18
            auto index = selector[i];
171
18
            result_data[index] = data[index_check_const<is_const>(i)];
172
18
        }
173
9
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
114
                                     const Selector& selector) {
169
5.11k
        for (size_t i = 0; i < selector.size(); ++i) {
170
5.00k
            auto index = selector[i];
171
5.00k
            result_data[index] = data[index_check_const<is_const>(i)];
172
5.00k
        }
173
114
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
23
                                     const Selector& selector) {
169
80
        for (size_t i = 0; i < selector.size(); ++i) {
170
57
            auto index = selector[i];
171
57
            result_data[index] = data[index_check_const<is_const>(i)];
172
57
        }
173
23
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
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
2
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
3
            auto index = selector[i];
171
3
            result_data[index] = data[index_check_const<is_const>(i)];
172
3
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
3
            auto index = selector[i];
171
3
            result_data[index] = data[index_check_const<is_const>(i)];
172
3
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
62
                                     const Selector& selector) {
169
137
        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
62
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
22
        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
7
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
106
        for (size_t i = 0; i < selector.size(); ++i) {
170
104
            auto index = selector[i];
171
104
            result_data[index] = data[index_check_const<is_const>(i)];
172
104
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
106
        for (size_t i = 0; i < selector.size(); ++i) {
170
104
            auto index = selector[i];
171
104
            result_data[index] = data[index_check_const<is_const>(i)];
172
104
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
9.89k
        for (size_t i = 0; i < selector.size(); ++i) {
170
9.89k
            auto index = selector[i];
171
9.89k
            result_data[index] = data[index_check_const<is_const>(i)];
172
9.89k
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
9.89k
        for (size_t i = 0; i < selector.size(); ++i) {
170
9.89k
            auto index = selector[i];
171
9.89k
            result_data[index] = data[index_check_const<is_const>(i)];
172
9.89k
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
16
    void insert_null(const Selector& selector) {
176
16
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
16
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
15
        auto& null_map_data = *null_map;
183
33
        for (size_t i = 0; i < selector.size(); ++i) {
184
18
            null_map_data[selector[i]] = 1;
185
18
        }
186
15
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
7
    void insert_null(const Selector& selector) {
176
7
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
7
        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
15
        for (size_t i = 0; i < selector.size(); ++i) {
184
9
            null_map_data[selector[i]] = 1;
185
9
        }
186
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
6.62k
    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
4.49k
                          const Selector& false_selector, size_t count) {
230
4.49k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
4.49k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
4.49k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
4.49k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
4.49k
        auto result_column = result_type->create_column();
236
237
4.49k
        MutableColumnNullViewScalar<PType> result_column_view =
238
4.49k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
4.49k
        init_result_column(result_column_view, count);
240
241
4.49k
        ColumnNullConstViewScalar<PType> true_column_view =
242
4.49k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
4.49k
        ColumnNullConstViewScalar<PType> false_column_view =
244
4.49k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
4.49k
        result_column_view.insert_from(true_column_view, true_selector);
247
4.49k
        result_column_view.insert_from(false_column_view, false_selector);
248
4.49k
        DCHECK_EQ(result_column->size(), count);
249
4.49k
        return result_column;
250
4.49k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
112
                          const Selector& false_selector, size_t count) {
230
112
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
112
        DCHECK_EQ(true_column->size(), true_selector.size());
232
112
        DCHECK_EQ(false_column->size(), false_selector.size());
233
112
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
112
        auto result_column = result_type->create_column();
236
237
112
        MutableColumnNullViewScalar<PType> result_column_view =
238
112
                MutableColumnNullViewScalar<PType>::create(result_column);
239
112
        init_result_column(result_column_view, count);
240
241
112
        ColumnNullConstViewScalar<PType> true_column_view =
242
112
                ColumnNullConstViewScalar<PType>::create(true_column);
243
112
        ColumnNullConstViewScalar<PType> false_column_view =
244
112
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
112
        result_column_view.insert_from(true_column_view, true_selector);
247
112
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
112
        return result_column;
250
112
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
3.47k
                          const Selector& false_selector, size_t count) {
230
3.47k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
3.47k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
3.47k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
3.47k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
3.47k
        auto result_column = result_type->create_column();
236
237
3.47k
        MutableColumnNullViewScalar<PType> result_column_view =
238
3.47k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
3.47k
        init_result_column(result_column_view, count);
240
241
3.47k
        ColumnNullConstViewScalar<PType> true_column_view =
242
3.47k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
3.47k
        ColumnNullConstViewScalar<PType> false_column_view =
244
3.47k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
3.47k
        result_column_view.insert_from(true_column_view, true_selector);
247
3.47k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
3.47k
        return result_column;
250
3.47k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
546
                          const Selector& false_selector, size_t count) {
230
546
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
546
        DCHECK_EQ(true_column->size(), true_selector.size());
232
546
        DCHECK_EQ(false_column->size(), false_selector.size());
233
546
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
546
        auto result_column = result_type->create_column();
236
237
546
        MutableColumnNullViewScalar<PType> result_column_view =
238
546
                MutableColumnNullViewScalar<PType>::create(result_column);
239
546
        init_result_column(result_column_view, count);
240
241
546
        ColumnNullConstViewScalar<PType> true_column_view =
242
546
                ColumnNullConstViewScalar<PType>::create(true_column);
243
546
        ColumnNullConstViewScalar<PType> false_column_view =
244
546
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
546
        result_column_view.insert_from(true_column_view, true_selector);
247
546
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
546
        return result_column;
250
546
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
115
                          const Selector& false_selector, size_t count) {
230
115
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
115
        DCHECK_EQ(true_column->size(), true_selector.size());
232
115
        DCHECK_EQ(false_column->size(), false_selector.size());
233
115
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
115
        auto result_column = result_type->create_column();
236
237
115
        MutableColumnNullViewScalar<PType> result_column_view =
238
115
                MutableColumnNullViewScalar<PType>::create(result_column);
239
115
        init_result_column(result_column_view, count);
240
241
115
        ColumnNullConstViewScalar<PType> true_column_view =
242
115
                ColumnNullConstViewScalar<PType>::create(true_column);
243
115
        ColumnNullConstViewScalar<PType> false_column_view =
244
115
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
115
        result_column_view.insert_from(true_column_view, true_selector);
247
115
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
115
        return result_column;
250
115
    }
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
91
                          const Selector& false_selector, size_t count) {
230
91
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
91
        DCHECK_EQ(true_column->size(), true_selector.size());
232
91
        DCHECK_EQ(false_column->size(), false_selector.size());
233
91
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
91
        auto result_column = result_type->create_column();
236
237
91
        MutableColumnNullViewScalar<PType> result_column_view =
238
91
                MutableColumnNullViewScalar<PType>::create(result_column);
239
91
        init_result_column(result_column_view, count);
240
241
91
        ColumnNullConstViewScalar<PType> true_column_view =
242
91
                ColumnNullConstViewScalar<PType>::create(true_column);
243
91
        ColumnNullConstViewScalar<PType> false_column_view =
244
91
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
91
        result_column_view.insert_from(true_column_view, true_selector);
247
91
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
91
        return result_column;
250
91
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2
                          const Selector& false_selector, size_t count) {
230
2
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2
        auto result_column = result_type->create_column();
236
237
2
        MutableColumnNullViewScalar<PType> result_column_view =
238
2
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2
        init_result_column(result_column_view, count);
240
241
2
        ColumnNullConstViewScalar<PType> true_column_view =
242
2
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2
        ColumnNullConstViewScalar<PType> false_column_view =
244
2
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2
        result_column_view.insert_from(true_column_view, true_selector);
247
2
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2
        return result_column;
250
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
17
                          const Selector& false_selector, size_t count) {
230
17
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
17
        DCHECK_EQ(true_column->size(), true_selector.size());
232
17
        DCHECK_EQ(false_column->size(), false_selector.size());
233
17
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
17
        auto result_column = result_type->create_column();
236
237
17
        MutableColumnNullViewScalar<PType> result_column_view =
238
17
                MutableColumnNullViewScalar<PType>::create(result_column);
239
17
        init_result_column(result_column_view, count);
240
241
17
        ColumnNullConstViewScalar<PType> true_column_view =
242
17
                ColumnNullConstViewScalar<PType>::create(true_column);
243
17
        ColumnNullConstViewScalar<PType> false_column_view =
244
17
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
17
        result_column_view.insert_from(true_column_view, true_selector);
247
17
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
17
        return result_column;
250
17
    }
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
104
                          const Selector& false_selector, size_t count) {
230
104
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
104
        DCHECK_EQ(true_column->size(), true_selector.size());
232
104
        DCHECK_EQ(false_column->size(), false_selector.size());
233
104
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
104
        auto result_column = result_type->create_column();
236
237
104
        MutableColumnNullViewScalar<PType> result_column_view =
238
104
                MutableColumnNullViewScalar<PType>::create(result_column);
239
104
        init_result_column(result_column_view, count);
240
241
104
        ColumnNullConstViewScalar<PType> true_column_view =
242
104
                ColumnNullConstViewScalar<PType>::create(true_column);
243
104
        ColumnNullConstViewScalar<PType> false_column_view =
244
104
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
104
        result_column_view.insert_from(true_column_view, true_selector);
247
104
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
104
        return result_column;
250
104
    }
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
26
                          const Selector& false_selector, size_t count) {
230
26
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
26
        DCHECK_EQ(true_column->size(), true_selector.size());
232
26
        DCHECK_EQ(false_column->size(), false_selector.size());
233
26
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
26
        auto result_column = result_type->create_column();
236
237
26
        MutableColumnNullViewScalar<PType> result_column_view =
238
26
                MutableColumnNullViewScalar<PType>::create(result_column);
239
26
        init_result_column(result_column_view, count);
240
241
26
        ColumnNullConstViewScalar<PType> true_column_view =
242
26
                ColumnNullConstViewScalar<PType>::create(true_column);
243
26
        ColumnNullConstViewScalar<PType> false_column_view =
244
26
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
26
        result_column_view.insert_from(true_column_view, true_selector);
247
26
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
26
        return result_column;
250
26
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
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
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2
                          const Selector& false_selector, size_t count) {
230
2
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2
        auto result_column = result_type->create_column();
236
237
2
        MutableColumnNullViewScalar<PType> result_column_view =
238
2
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2
        init_result_column(result_column_view, count);
240
241
2
        ColumnNullConstViewScalar<PType> true_column_view =
242
2
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2
        ColumnNullConstViewScalar<PType> false_column_view =
244
2
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2
        result_column_view.insert_from(true_column_view, true_selector);
247
2
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2
        return result_column;
250
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
1.88k
                          size_t count) {
255
1.88k
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1.88k
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1.88k
                                             return sum + cs.selector.size();
258
1.88k
                                         }));
259
1.88k
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1.88k
        auto result_column = result_type->create_column();
261
262
1.88k
        MutableColumnNullViewScalar<PType> result_column_view =
263
1.88k
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1.88k
        init_result_column(result_column_view, count);
265
266
6.61k
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6.61k
            if (columns_and_selector.output_nulls()) {
268
14
                result_column_view.insert_null(columns_and_selector.selector);
269
6.60k
            } else {
270
6.60k
                ColumnNullConstViewScalar<PType> from_column_view =
271
6.60k
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6.60k
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6.60k
            }
274
6.61k
        }
275
1.88k
        DCHECK_EQ(result_column->size(), count);
276
1.88k
        return result_column;
277
1.88k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
1.65k
                          size_t count) {
255
1.65k
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1.65k
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1.65k
                                             return sum + cs.selector.size();
258
1.65k
                                         }));
259
1.65k
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1.65k
        auto result_column = result_type->create_column();
261
262
1.65k
        MutableColumnNullViewScalar<PType> result_column_view =
263
1.65k
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1.65k
        init_result_column(result_column_view, count);
265
266
6.22k
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6.22k
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
6.22k
            } else {
270
6.22k
                ColumnNullConstViewScalar<PType> from_column_view =
271
6.22k
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6.22k
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6.22k
            }
274
6.22k
        }
275
        DCHECK_EQ(result_column->size(), count);
276
1.65k
        return result_column;
277
1.65k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
10
                          size_t count) {
255
10
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
10
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
10
                                             return sum + cs.selector.size();
258
10
                                         }));
259
10
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
10
        auto result_column = result_type->create_column();
261
262
10
        MutableColumnNullViewScalar<PType> result_column_view =
263
10
                MutableColumnNullViewScalar<PType>::create(result_column);
264
10
        init_result_column(result_column_view, count);
265
266
14
        for (const auto& columns_and_selector : columns_and_selectors) {
267
14
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
14
        }
275
        DCHECK_EQ(result_column->size(), count);
276
10
        return result_column;
277
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
51
                          size_t count) {
255
51
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
51
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
51
                                             return sum + cs.selector.size();
258
51
                                         }));
259
51
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
51
        auto result_column = result_type->create_column();
261
262
51
        MutableColumnNullViewScalar<PType> result_column_view =
263
51
                MutableColumnNullViewScalar<PType>::create(result_column);
264
51
        init_result_column(result_column_view, count);
265
266
95
        for (const auto& columns_and_selector : columns_and_selectors) {
267
95
            if (columns_and_selector.output_nulls()) {
268
5
                result_column_view.insert_null(columns_and_selector.selector);
269
90
            } else {
270
90
                ColumnNullConstViewScalar<PType> from_column_view =
271
90
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
90
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
90
            }
274
95
        }
275
        DCHECK_EQ(result_column->size(), count);
276
51
        return result_column;
277
51
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_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
66
        for (const auto& columns_and_selector : columns_and_selectors) {
267
66
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
65
            } else {
270
65
                ColumnNullConstViewScalar<PType> from_column_view =
271
65
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
65
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
65
            }
274
66
        }
275
        DCHECK_EQ(result_column->size(), count);
276
38
        return result_column;
277
38
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
5
                          size_t count) {
255
5
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
5
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
5
                                             return sum + cs.selector.size();
258
5
                                         }));
259
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
5
        auto result_column = result_type->create_column();
261
262
5
        MutableColumnNullViewScalar<PType> result_column_view =
263
5
                MutableColumnNullViewScalar<PType>::create(result_column);
264
5
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
31
                          size_t count) {
255
31
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
31
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
31
                                             return sum + cs.selector.size();
258
31
                                         }));
259
31
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
31
        auto result_column = result_type->create_column();
261
262
31
        MutableColumnNullViewScalar<PType> result_column_view =
263
31
                MutableColumnNullViewScalar<PType>::create(result_column);
264
31
        init_result_column(result_column_view, count);
265
266
58
        for (const auto& columns_and_selector : columns_and_selectors) {
267
58
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
57
            } else {
270
57
                ColumnNullConstViewScalar<PType> from_column_view =
271
57
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
57
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
57
            }
274
58
        }
275
        DCHECK_EQ(result_column->size(), count);
276
31
        return result_column;
277
31
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
5
                          size_t count) {
255
5
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
5
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
5
                                             return sum + cs.selector.size();
258
5
                                         }));
259
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
5
        auto result_column = result_type->create_column();
261
262
5
        MutableColumnNullViewScalar<PType> result_column_view =
263
5
                MutableColumnNullViewScalar<PType>::create(result_column);
264
5
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
75
                          size_t count) {
255
75
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
75
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
75
                                             return sum + cs.selector.size();
258
75
                                         }));
259
75
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
75
        auto result_column = result_type->create_column();
261
262
75
        MutableColumnNullViewScalar<PType> result_column_view =
263
75
                MutableColumnNullViewScalar<PType>::create(result_column);
264
75
        init_result_column(result_column_view, count);
265
266
115
        for (const auto& columns_and_selector : columns_and_selectors) {
267
115
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
115
            } else {
270
115
                ColumnNullConstViewScalar<PType> from_column_view =
271
115
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
115
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
115
            }
274
115
        }
275
        DCHECK_EQ(result_column->size(), count);
276
75
        return result_column;
277
75
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
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
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
13
        for (const auto& columns_and_selector : columns_and_selectors) {
267
13
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
13
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
5
                          size_t count) {
255
5
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
5
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
5
                                             return sum + cs.selector.size();
258
5
                                         }));
259
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
5
        auto result_column = result_type->create_column();
261
262
5
        MutableColumnNullViewScalar<PType> result_column_view =
263
5
                MutableColumnNullViewScalar<PType>::create(result_column);
264
5
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
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.38k
                                   size_t count) {
283
6.38k
        result_column_view.data.resize(count);
284
6.38k
        if (result_column_view.null_map != nullptr) {
285
990
            result_column_view.null_map->resize_fill(count, 0);
286
990
        }
287
6.38k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
112
                                   size_t count) {
283
112
        result_column_view.data.resize(count);
284
112
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
112
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
5.13k
                                   size_t count) {
283
5.13k
        result_column_view.data.resize(count);
284
5.13k
        if (result_column_view.null_map != nullptr) {
285
347
            result_column_view.null_map->resize_fill(count, 0);
286
347
        }
287
5.13k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
597
                                   size_t count) {
283
597
        result_column_view.data.resize(count);
284
597
        if (result_column_view.null_map != nullptr) {
285
421
            result_column_view.null_map->resize_fill(count, 0);
286
421
        }
287
597
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
153
                                   size_t count) {
283
153
        result_column_view.data.resize(count);
284
153
        if (result_column_view.null_map != nullptr) {
285
46
            result_column_view.null_map->resize_fill(count, 0);
286
46
        }
287
153
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
Line
Count
Source
282
5
                                   size_t count) {
283
5
        result_column_view.data.resize(count);
284
5
        if (result_column_view.null_map != nullptr) {
285
5
            result_column_view.null_map->resize_fill(count, 0);
286
5
        }
287
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
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
99
            result_column_view.null_map->resize_fill(count, 0);
286
99
        }
287
122
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
7
                                   size_t count) {
283
7
        result_column_view.data.resize(count);
284
7
        if (result_column_view.null_map != nullptr) {
285
7
            result_column_view.null_map->resize_fill(count, 0);
286
7
        }
287
7
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
92
                                   size_t count) {
283
92
        result_column_view.data.resize(count);
284
92
        if (result_column_view.null_map != nullptr) {
285
11
            result_column_view.null_map->resize_fill(count, 0);
286
11
        }
287
92
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
106
                                   size_t count) {
283
106
        result_column_view.data.resize(count);
284
106
        if (result_column_view.null_map != nullptr) {
285
18
            result_column_view.null_map->resize_fill(count, 0);
286
18
        }
287
106
    }
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
33
                                   size_t count) {
283
33
        result_column_view.data.resize(count);
284
33
        if (result_column_view.null_map != nullptr) {
285
7
            result_column_view.null_map->resize_fill(count, 0);
286
7
        }
287
33
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
5
                                   size_t count) {
283
5
        result_column_view.data.resize(count);
284
5
        if (result_column_view.null_map != nullptr) {
285
5
            result_column_view.null_map->resize_fill(count, 0);
286
5
        }
287
5
    }
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
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Line
Count
Source
282
2
                                   size_t count) {
283
2
        result_column_view.data.resize(count);
284
2
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
637
                          const Selector& false_selector, size_t count) {
296
637
        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
637
        DCHECK_EQ(true_column->size(), true_selector.size());
301
637
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
637
        auto result_column = result_type->create_column();
304
305
637
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
637
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
637
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
637
        size_t true_index = 0;
310
637
        size_t false_index = 0;
311
2.01k
        for (size_t i = 0; i < count; ++i) {
312
1.37k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
364
                result_column_view.insert_from(true_column_view, true_index++);
314
1.01k
            } else {
315
1.01k
                result_column_view.insert_from(false_column_view, false_index++);
316
1.01k
            }
317
1.37k
        }
318
319
637
        DCHECK_EQ(result_column->size(), count);
320
637
        return result_column;
321
637
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
178
                          size_t count) {
326
178
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
178
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
178
                                             return sum + cs.selector.size();
329
178
                                         }));
330
178
        struct FillColumnWithPos {
331
178
            std::optional<ColumnNullConstView> source_column;
332
178
            size_t pos_in_source; // position in the column
333
334
454
            void insert_to_column(MutableColumnNullView& result_column) const {
335
454
                if (!source_column) {
336
27
                    result_column.insert_null();
337
427
                } else {
338
427
                    result_column.insert_from(*source_column, pos_in_source);
339
427
                }
340
454
            }
341
178
        };
342
343
178
        auto mutable_result_column = result_type->create_column();
344
178
        mutable_result_column->reserve(count);
345
346
178
        MutableColumnNullView mutable_result_column_view =
347
178
                MutableColumnNullView::create(mutable_result_column);
348
349
178
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
419
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
419
            if (column_with_selector.selector.empty()) {
353
137
                continue;
354
137
            }
355
736
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
454
                size_t result_index = column_with_selector.selector[i];
357
454
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
454
                if (column_with_selector.column) {
360
427
                    ColumnNullConstView column_view =
361
427
                            ColumnNullConstView::create(column_with_selector.column);
362
427
                    fill_positions[result_index].source_column.emplace(column_view);
363
427
                    fill_positions[result_index].pos_in_source = i;
364
427
                } else {
365
27
                    fill_positions[result_index].source_column = std::nullopt;
366
27
                }
367
454
            }
368
282
        }
369
370
454
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
454
            fill_pos.insert_to_column(mutable_result_column_view);
372
454
        }
373
374
178
        DCHECK_EQ(mutable_result_column->size(), count);
375
178
        return mutable_result_column;
376
178
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
11.2k
            : _selector(selector), _count(count) {}
382
383
    // Iterate over the condition column and generate true_selector and false_selector
384
    // based on null_map and data.
385
386
    template <bool is_const, typename Func>
387
11.2k
    void for_each_with_selector(Func& f) const {
388
11.2k
        if (_selector != nullptr) {
389
4.86k
            const auto& selector_data = *_selector;
390
10.1k
            for (size_t i = 0; i < _count; ++i) {
391
5.30k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
5.30k
            }
393
6.35k
        } else {
394
10.1M
            for (size_t i = 0; i < _count; ++i) {
395
10.0M
                f(index_check_const<is_const>(i), i, i);
396
10.0M
            }
397
6.35k
        }
398
11.2k
    }
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
21
    void for_each_with_selector(Func& f) const {
388
21
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
6
            for (size_t i = 0; i < _count; ++i) {
391
4
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
4
            }
393
19
        } else {
394
38
            for (size_t i = 0; i < _count; ++i) {
395
19
                f(index_check_const<is_const>(i), i, i);
396
19
            }
397
19
        }
398
21
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
2.15k
    void for_each_with_selector(Func& f) const {
388
2.15k
        if (_selector != nullptr) {
389
689
            const auto& selector_data = *_selector;
390
1.43k
            for (size_t i = 0; i < _count; ++i) {
391
745
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
745
            }
393
1.46k
        } else {
394
14.2k
            for (size_t i = 0; i < _count; ++i) {
395
12.7k
                f(index_check_const<is_const>(i), i, i);
396
12.7k
            }
397
1.46k
        }
398
2.15k
    }
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
69
    void for_each_with_selector(Func& f) const {
388
69
        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
69
        } else {
394
360
            for (size_t i = 0; i < _count; ++i) {
395
291
                f(index_check_const<is_const>(i), i, i);
396
291
            }
397
69
        }
398
69
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
2.42k
    void for_each_with_selector(Func& f) const {
388
2.42k
        if (_selector != nullptr) {
389
62
            const auto& selector_data = *_selector;
390
174
            for (size_t i = 0; i < _count; ++i) {
391
112
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
112
            }
393
2.36k
        } else {
394
10.0M
            for (size_t i = 0; i < _count; ++i) {
395
10.0M
                f(index_check_const<is_const>(i), i, i);
396
10.0M
            }
397
2.36k
        }
398
2.42k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
20
    void for_each_with_selector(Func& f) const {
388
20
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
20
        } else {
394
46
            for (size_t i = 0; i < _count; ++i) {
395
26
                f(index_check_const<is_const>(i), i, i);
396
26
            }
397
20
        }
398
20
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
132
    void for_each_with_selector(Func& f) const {
388
132
        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
132
        } else {
394
483
            for (size_t i = 0; i < _count; ++i) {
395
351
                f(index_check_const<is_const>(i), i, i);
396
351
            }
397
132
        }
398
132
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
1.68k
    void for_each_with_selector(Func& f) const {
388
1.68k
        if (_selector != nullptr) {
389
18
            const auto& selector_data = *_selector;
390
58
            for (size_t i = 0; i < _count; ++i) {
391
40
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
40
            }
393
1.66k
        } else {
394
3.40k
            for (size_t i = 0; i < _count; ++i) {
395
1.74k
                f(index_check_const<is_const>(i), i, i);
396
1.74k
            }
397
1.66k
        }
398
1.68k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
15
    void for_each_with_selector(Func& f) const {
388
15
        if (_selector != nullptr) {
389
15
            const auto& selector_data = *_selector;
390
40
            for (size_t i = 0; i < _count; ++i) {
391
25
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
25
            }
393
15
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
15
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
2.31k
    void for_each_with_selector(Func& f) const {
388
2.31k
        if (_selector != nullptr) {
389
2.31k
            const auto& selector_data = *_selector;
390
4.83k
            for (size_t i = 0; i < _count; ++i) {
391
2.52k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2.52k
            }
393
2.31k
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2.31k
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
1.60k
    void for_each_with_selector(Func& f) const {
388
1.60k
        if (_selector != nullptr) {
389
1.60k
            const auto& selector_data = *_selector;
390
3.22k
            for (size_t i = 0; i < _count; ++i) {
391
1.62k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.62k
            }
393
1.60k
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
1.60k
    }
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
8
    void for_each_with_selector(Func& f) const {
388
8
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
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
8
    }
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
451
    void for_each_with_selector(Func& f) const {
388
451
        if (_selector != nullptr) {
389
41
            const auto& selector_data = *_selector;
390
113
            for (size_t i = 0; i < _count; ++i) {
391
72
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
72
            }
393
410
        } else {
394
2.25k
            for (size_t i = 0; i < _count; ++i) {
395
1.84k
                f(index_check_const<is_const>(i), i, i);
396
1.84k
            }
397
410
        }
398
451
    }
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
6
    void for_each_with_selector(Func& f) const {
388
6
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
4
        } else {
394
8
            for (size_t i = 0; i < _count; ++i) {
395
4
                f(index_check_const<is_const>(i), i, i);
396
4
            }
397
4
        }
398
6
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_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
216
    void for_each_with_selector(Func& f) const {
388
216
        if (_selector != nullptr) {
389
15
            const auto& selector_data = *_selector;
390
36
            for (size_t i = 0; i < _count; ++i) {
391
21
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
21
            }
393
201
        } else {
394
787
            for (size_t i = 0; i < _count; ++i) {
395
586
                f(index_check_const<is_const>(i), i, i);
396
586
            }
397
201
        }
398
216
    }
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
2
    void for_each_with_selector(Func& f) const {
388
2
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
52
    void for_each_with_selector(Func& f) const {
388
52
        if (_selector != nullptr) {
389
52
            const auto& selector_data = *_selector;
390
119
            for (size_t i = 0; i < _count; ++i) {
391
67
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
67
            }
393
52
        } 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
52
    }
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
50
    void for_each_with_selector(Func& f) const {
388
50
        if (_selector != nullptr) {
389
50
            const auto& selector_data = *_selector;
390
124
            for (size_t i = 0; i < _count; ++i) {
391
74
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
74
            }
393
50
        } 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
50
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
2
    void for_each_with_selector(Func& f) const {
388
2
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
10.4k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
10.4k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
10.4k
                                      size_t count) {
415
10.4k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
10.4k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
10.4k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
10.4k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
10.4k
        if (this->null_map != nullptr) {
422
4.65k
            const auto& null_map_data = *(this->null_map);
423
16.4k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
16.4k
                if (null_map_data[i]) {
425
251
                    null_func(self_index, executor_index);
426
16.1k
                } else {
427
16.1k
                    if (this->data[i]) {
428
1.71k
                        true_func(self_index, executor_index);
429
14.4k
                    } else {
430
14.4k
                        false_func(self_index, executor_index);
431
14.4k
                    }
432
16.1k
                }
433
16.4k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
13.5k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
13.5k
                if (null_map_data[i]) {
425
120
                    null_func(self_index, executor_index);
426
13.3k
                } else {
427
13.3k
                    if (this->data[i]) {
428
939
                        true_func(self_index, executor_index);
429
12.4k
                    } else {
430
12.4k
                        false_func(self_index, executor_index);
431
12.4k
                    }
432
13.3k
                }
433
13.5k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
377
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
377
                if (null_map_data[i]) {
425
82
                    null_func(self_index, executor_index);
426
295
                } else {
427
295
                    if (this->data[i]) {
428
180
                        true_func(self_index, executor_index);
429
180
                    } else {
430
115
                        false_func(self_index, executor_index);
431
115
                    }
432
295
                }
433
377
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
2.54k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.54k
                if (null_map_data[i]) {
425
49
                    null_func(self_index, executor_index);
426
2.49k
                } else {
427
2.49k
                    if (this->data[i]) {
428
599
                        true_func(self_index, executor_index);
429
1.89k
                    } else {
430
1.89k
                        false_func(self_index, executor_index);
431
1.89k
                    }
432
2.49k
                }
433
2.54k
            };
434
4.65k
            if (is_const) {
435
56
                for_each_with_selector<true>(update);
436
4.60k
            } else {
437
4.60k
                for_each_with_selector<false>(update);
438
4.60k
            }
439
5.77k
        } else {
440
            // non-nullable condition column
441
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
68.4k
                    false_func(self_index, executor_index);
446
68.4k
                }
447
10.0M
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
65.4k
                    false_func(self_index, executor_index);
446
65.4k
                }
447
10.0M
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
1.78k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.78k
                if (this->data[i]) {
443
117
                    true_func(self_index, executor_index);
444
1.66k
                } else {
445
1.66k
                    false_func(self_index, executor_index);
446
1.66k
                }
447
1.78k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
1.62k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.62k
                if (this->data[i]) {
443
309
                    true_func(self_index, executor_index);
444
1.31k
                } else {
445
1.31k
                    false_func(self_index, executor_index);
446
1.31k
                }
447
1.62k
            };
448
5.77k
            if (is_const) {
449
69
                for_each_with_selector<true>(update);
450
5.70k
            } else {
451
5.70k
                for_each_with_selector<false>(update);
452
5.70k
            }
453
5.77k
        }
454
10.4k
    }
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
4.66k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
4.66k
        if (this->null_map != nullptr) {
422
2.17k
            const auto& null_map_data = *(this->null_map);
423
2.17k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.17k
                if (null_map_data[i]) {
425
2.17k
                    null_func(self_index, executor_index);
426
2.17k
                } else {
427
2.17k
                    if (this->data[i]) {
428
2.17k
                        true_func(self_index, executor_index);
429
2.17k
                    } else {
430
2.17k
                        false_func(self_index, executor_index);
431
2.17k
                    }
432
2.17k
                }
433
2.17k
            };
434
2.17k
            if (is_const) {
435
21
                for_each_with_selector<true>(update);
436
2.15k
            } else {
437
2.15k
                for_each_with_selector<false>(update);
438
2.15k
            }
439
2.49k
        } else {
440
            // non-nullable condition column
441
2.49k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
2.49k
                if (this->data[i]) {
443
2.49k
                    true_func(self_index, executor_index);
444
2.49k
                } else {
445
2.49k
                    false_func(self_index, executor_index);
446
2.49k
                }
447
2.49k
            };
448
2.49k
            if (is_const) {
449
69
                for_each_with_selector<true>(update);
450
2.42k
            } else {
451
2.42k
                for_each_with_selector<false>(update);
452
2.42k
            }
453
2.49k
        }
454
4.66k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_
Line
Count
Source
420
1.83k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
1.83k
        if (this->null_map != nullptr) {
422
151
            const auto& null_map_data = *(this->null_map);
423
151
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
151
                if (null_map_data[i]) {
425
151
                    null_func(self_index, executor_index);
426
151
                } else {
427
151
                    if (this->data[i]) {
428
151
                        true_func(self_index, executor_index);
429
151
                    } else {
430
151
                        false_func(self_index, executor_index);
431
151
                    }
432
151
                }
433
151
            };
434
151
            if (is_const) {
435
20
                for_each_with_selector<true>(update);
436
131
            } else {
437
131
                for_each_with_selector<false>(update);
438
131
            }
439
1.68k
        } else {
440
            // non-nullable condition column
441
1.68k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.68k
                if (this->data[i]) {
443
1.68k
                    true_func(self_index, executor_index);
444
1.68k
                } else {
445
1.68k
                    false_func(self_index, executor_index);
446
1.68k
                }
447
1.68k
            };
448
1.68k
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
1.68k
            } else {
451
1.68k
                for_each_with_selector<false>(update);
452
1.68k
            }
453
1.68k
        }
454
1.83k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_
Line
Count
Source
420
3.93k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.93k
        if (this->null_map != nullptr) {
422
2.33k
            const auto& null_map_data = *(this->null_map);
423
2.33k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.33k
                if (null_map_data[i]) {
425
2.33k
                    null_func(self_index, executor_index);
426
2.33k
                } else {
427
2.33k
                    if (this->data[i]) {
428
2.33k
                        true_func(self_index, executor_index);
429
2.33k
                    } else {
430
2.33k
                        false_func(self_index, executor_index);
431
2.33k
                    }
432
2.33k
                }
433
2.33k
            };
434
2.33k
            if (is_const) {
435
15
                for_each_with_selector<true>(update);
436
2.31k
            } else {
437
2.31k
                for_each_with_selector<false>(update);
438
2.31k
            }
439
2.33k
        } else {
440
            // non-nullable condition column
441
1.60k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.60k
                if (this->data[i]) {
443
1.60k
                    true_func(self_index, executor_index);
444
1.60k
                } else {
445
1.60k
                    false_func(self_index, executor_index);
446
1.60k
                }
447
1.60k
            };
448
1.60k
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
1.60k
            } else {
451
1.60k
                for_each_with_selector<false>(update);
452
1.60k
            }
453
1.60k
        }
454
3.93k
    }
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
793
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
791
                                          size_t count) {
465
791
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
791
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
791
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
787
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
787
        if (this->null_map != nullptr) {
472
735
            const auto& null_map_data = *(this->null_map);
473
2.60k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
2.60k
                if (null_map_data[i]) {
475
249
                    null_func(self_index, executor_index);
476
2.35k
                } else {
477
2.35k
                    not_null_func(self_index, executor_index);
478
2.35k
                }
479
2.60k
            };
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.92k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.92k
                if (null_map_data[i]) {
475
89
                    null_func(self_index, executor_index);
476
1.83k
                } else {
477
1.83k
                    not_null_func(self_index, executor_index);
478
1.83k
                }
479
1.92k
            };
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
613
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
613
                if (null_map_data[i]) {
475
121
                    null_func(self_index, executor_index);
476
492
                } else {
477
492
                    not_null_func(self_index, executor_index);
478
492
                }
479
613
            };
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
39
                    null_func(self_index, executor_index);
476
39
                } else {
477
30
                    not_null_func(self_index, executor_index);
478
30
                }
479
69
            };
480
735
            if (is_const) {
481
16
                for_each_with_selector<true>(update);
482
719
            } else {
483
719
                for_each_with_selector<false>(update);
484
719
            }
485
735
        } else {
486
            // non-nullable condition column
487
76
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
76
                not_null_func(self_index, executor_index);
489
76
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
76
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
76
                not_null_func(self_index, executor_index);
489
76
            };
490
52
            if (is_const) {
491
50
                for_each_with_selector<true>(update);
492
50
            } else {
493
2
                for_each_with_selector<false>(update);
494
2
            }
495
52
        }
496
787
    }
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
459
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
459
        if (this->null_map != nullptr) {
472
459
            const auto& null_map_data = *(this->null_map);
473
459
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
459
                if (null_map_data[i]) {
475
459
                    null_func(self_index, executor_index);
476
459
                } else {
477
459
                    not_null_func(self_index, executor_index);
478
459
                }
479
459
            };
480
459
            if (is_const) {
481
8
                for_each_with_selector<true>(update);
482
451
            } else {
483
451
                for_each_with_selector<false>(update);
484
451
            }
485
459
        } 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
459
    }
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
222
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
222
        if (this->null_map != nullptr) {
472
222
            const auto& null_map_data = *(this->null_map);
473
222
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
222
                if (null_map_data[i]) {
475
222
                    null_func(self_index, executor_index);
476
222
                } else {
477
222
                    not_null_func(self_index, executor_index);
478
222
                }
479
222
            };
480
222
            if (is_const) {
481
6
                for_each_with_selector<true>(update);
482
216
            } else {
483
216
                for_each_with_selector<false>(update);
484
216
            }
485
222
        } 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
222
    }
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
106
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
106
        if (this->null_map != nullptr) {
472
54
            const auto& null_map_data = *(this->null_map);
473
54
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
54
                if (null_map_data[i]) {
475
54
                    null_func(self_index, executor_index);
476
54
                } else {
477
54
                    not_null_func(self_index, executor_index);
478
54
                }
479
54
            };
480
54
            if (is_const) {
481
2
                for_each_with_selector<true>(update);
482
52
            } else {
483
52
                for_each_with_selector<false>(update);
484
52
            }
485
54
        } else {
486
            // non-nullable condition column
487
52
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
52
                not_null_func(self_index, executor_index);
489
52
            };
490
52
            if (is_const) {
491
50
                for_each_with_selector<true>(update);
492
50
            } else {
493
2
                for_each_with_selector<false>(update);
494
2
            }
495
52
        }
496
106
    }
497
};
498
499
} // namespace doris