Coverage Report

Created: 2026-03-19 11:17

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.01k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
2.01k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
2.01k
        if (const auto* nullable_column =
40
2.01k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.23k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.23k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.23k
                                        .is_const = is_const};
44
1.23k
        } else {
45
776
            return ColumnNullConstView {
46
776
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
776
        }
48
2.01k
    }
49
};
50
51
// Scalar version stores a reference to the actual data type array for convenient subsequent operations.
52
template <PrimitiveType PType>
53
struct ColumnNullConstViewScalar {
54
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
55
    using ArrayType = typename ColumnType::Container;
56
57
    const ArrayType& data;
58
    const NullMap* null_map;
59
    const bool is_const;
60
61
20.5k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
20.5k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
20.5k
        const NullMap* null_map = nullptr;
64
20.5k
        const ArrayType* data = nullptr;
65
20.5k
        if (const auto* nullable_column =
66
20.5k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
2.99k
            null_map = &nullable_column->get_null_map_data();
68
2.99k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
2.99k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
17.5k
        } else {
71
17.5k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
17.5k
        }
73
74
20.5k
        return ColumnNullConstViewScalar {
75
20.5k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
20.5k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
7.49k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
7.49k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
7.49k
        const NullMap* null_map = nullptr;
64
7.49k
        const ArrayType* data = nullptr;
65
7.49k
        if (const auto* nullable_column =
66
7.49k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1.12k
            null_map = &nullable_column->get_null_map_data();
68
1.12k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1.12k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6.36k
        } else {
71
6.36k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
6.36k
        }
73
74
7.49k
        return ColumnNullConstViewScalar {
75
7.49k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
7.49k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
10.9k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
10.9k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
10.9k
        const NullMap* null_map = nullptr;
64
10.9k
        const ArrayType* data = nullptr;
65
10.9k
        if (const auto* nullable_column =
66
10.9k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
452
            null_map = &nullable_column->get_null_map_data();
68
452
            const auto& nested_from_column = nullable_column->get_nested_column();
69
452
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
10.5k
        } else {
71
10.5k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
10.5k
        }
73
74
10.9k
        return ColumnNullConstViewScalar {
75
10.9k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
10.9k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
38
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
38
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
38
        const NullMap* null_map = nullptr;
64
38
        const ArrayType* data = nullptr;
65
38
        if (const auto* nullable_column =
66
38
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
36
            null_map = &nullable_column->get_null_map_data();
68
36
            const auto& nested_from_column = nullable_column->get_nested_column();
69
36
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
36
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
38
        return ColumnNullConstViewScalar {
75
38
                .data = *data, .null_map = null_map, .is_const = is_const};
76
38
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.15k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.15k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.15k
        const NullMap* null_map = nullptr;
64
1.15k
        const ArrayType* data = nullptr;
65
1.15k
        if (const auto* nullable_column =
66
1.15k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
905
            null_map = &nullable_column->get_null_map_data();
68
905
            const auto& nested_from_column = nullable_column->get_nested_column();
69
905
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
905
        } else {
71
249
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
249
        }
73
74
1.15k
        return ColumnNullConstViewScalar {
75
1.15k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.15k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
311
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
311
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
311
        const NullMap* null_map = nullptr;
64
311
        const ArrayType* data = nullptr;
65
311
        if (const auto* nullable_column =
66
311
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
129
            null_map = &nullable_column->get_null_map_data();
68
129
            const auto& nested_from_column = nullable_column->get_nested_column();
69
129
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
182
        } else {
71
182
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
182
        }
73
74
311
        return ColumnNullConstViewScalar {
75
311
                .data = *data, .null_map = null_map, .is_const = is_const};
76
311
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2
        const NullMap* null_map = nullptr;
64
2
        const ArrayType* data = nullptr;
65
2
        if (const auto* nullable_column =
66
2
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
0
            null_map = &nullable_column->get_null_map_data();
68
0
            const auto& nested_from_column = nullable_column->get_nested_column();
69
0
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
2
        return ColumnNullConstViewScalar {
75
2
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
26
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
26
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
26
        const NullMap* null_map = nullptr;
64
26
        const ArrayType* data = nullptr;
65
26
        if (const auto* nullable_column =
66
26
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
24
            null_map = &nullable_column->get_null_map_data();
68
24
            const auto& nested_from_column = nullable_column->get_nested_column();
69
24
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
24
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
26
        return ColumnNullConstViewScalar {
75
26
                .data = *data, .null_map = null_map, .is_const = is_const};
76
26
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
110
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
110
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
110
        const NullMap* null_map = nullptr;
64
110
        const ArrayType* data = nullptr;
65
110
        if (const auto* nullable_column =
66
110
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
87
            null_map = &nullable_column->get_null_map_data();
68
87
            const auto& nested_from_column = nullable_column->get_nested_column();
69
87
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
87
        } else {
71
23
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
23
        }
73
74
110
        return ColumnNullConstViewScalar {
75
110
                .data = *data, .null_map = null_map, .is_const = is_const};
76
110
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
46
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
46
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
46
        const NullMap* null_map = nullptr;
64
46
        const ArrayType* data = nullptr;
65
46
        if (const auto* nullable_column =
66
46
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
44
            null_map = &nullable_column->get_null_map_data();
68
44
            const auto& nested_from_column = nullable_column->get_nested_column();
69
44
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
44
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
46
        return ColumnNullConstViewScalar {
75
46
                .data = *data, .null_map = null_map, .is_const = is_const};
76
46
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
49
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
49
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
49
        const NullMap* null_map = nullptr;
64
49
        const ArrayType* data = nullptr;
65
49
        if (const auto* nullable_column =
66
49
                    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
35
        } else {
71
14
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
14
        }
73
74
49
        return ColumnNullConstViewScalar {
75
49
                .data = *data, .null_map = null_map, .is_const = is_const};
76
49
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
220
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
220
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
220
        const NullMap* null_map = nullptr;
64
220
        const ArrayType* data = nullptr;
65
220
        if (const auto* nullable_column =
66
220
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
82
            null_map = &nullable_column->get_null_map_data();
68
82
            const auto& nested_from_column = nullable_column->get_nested_column();
69
82
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
138
        } else {
71
138
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
138
        }
73
74
220
        return ColumnNullConstViewScalar {
75
220
                .data = *data, .null_map = null_map, .is_const = is_const};
76
220
    }
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
76
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
76
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
76
        const NullMap* null_map = nullptr;
64
76
        const ArrayType* data = nullptr;
65
76
        if (const auto* nullable_column =
66
76
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
26
            null_map = &nullable_column->get_null_map_data();
68
26
            const auto& nested_from_column = nullable_column->get_nested_column();
69
26
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
50
        } else {
71
50
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
50
        }
73
74
76
        return ColumnNullConstViewScalar {
75
76
                .data = *data, .null_map = null_map, .is_const = is_const};
76
76
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
50
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
50
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
50
        const NullMap* null_map = nullptr;
64
50
        const ArrayType* data = nullptr;
65
50
        if (const auto* nullable_column =
66
50
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
47
            null_map = &nullable_column->get_null_map_data();
68
47
            const auto& nested_from_column = nullable_column->get_nested_column();
69
47
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
47
        } else {
71
3
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3
        }
73
74
50
        return ColumnNullConstViewScalar {
75
50
                .data = *data, .null_map = null_map, .is_const = is_const};
76
50
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
594
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
594
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
481
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
481
                                          .null_map = &nullable_column->get_null_map_data()};
88
481
        } else {
89
113
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
113
        }
91
594
    }
92
93
1.62k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
1.62k
        auto index = index_check_const(i, from.is_const);
95
1.62k
        column.insert_from(from.column, index);
96
1.62k
        if (null_map != nullptr && from.null_map != nullptr) {
97
1.18k
            null_map->push_back((*from.null_map)[index]);
98
1.18k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
131
            null_map->push_back(0);
101
131
        }
102
1.62k
    }
103
104
19
    void insert_null() {
105
19
        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
19
        column.insert_default();
111
19
        null_map->push_back(1);
112
19
    }
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.71k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
6.71k
        ColumnType* data_column = nullptr;
125
6.71k
        NullMap* null_map = nullptr;
126
6.71k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.19k
            null_map = &nullable_column->get_null_map_data();
128
1.19k
            auto& nested_column = nullable_column->get_nested_column();
129
1.19k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5.51k
        } else {
131
5.51k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5.51k
        }
133
134
6.71k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
6.71k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
93
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
93
        ColumnType* data_column = nullptr;
125
93
        NullMap* null_map = nullptr;
126
93
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
0
            null_map = &nullable_column->get_null_map_data();
128
0
            auto& nested_column = nullable_column->get_nested_column();
129
0
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
93
        } else {
131
93
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
93
        }
133
134
93
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
93
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5.49k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5.49k
        ColumnType* data_column = nullptr;
125
5.49k
        NullMap* null_map = nullptr;
126
5.49k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
438
            null_map = &nullable_column->get_null_map_data();
128
438
            auto& nested_column = nullable_column->get_nested_column();
129
438
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5.05k
        } else {
131
5.05k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
5.05k
        }
133
134
5.49k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5.49k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
32
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
32
        ColumnType* data_column = nullptr;
125
32
        NullMap* null_map = nullptr;
126
32
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
30
            null_map = &nullable_column->get_null_map_data();
128
30
            auto& nested_column = nullable_column->get_nested_column();
129
30
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
30
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
32
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
588
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
588
        ColumnType* data_column = nullptr;
125
588
        NullMap* null_map = nullptr;
126
588
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
457
            null_map = &nullable_column->get_null_map_data();
128
457
            auto& nested_column = nullable_column->get_nested_column();
129
457
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
457
        } else {
131
131
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
131
        }
133
134
588
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
588
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
166
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
166
        ColumnType* data_column = nullptr;
125
166
        NullMap* null_map = nullptr;
126
166
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
52
            null_map = &nullable_column->get_null_map_data();
128
52
            auto& nested_column = nullable_column->get_nested_column();
129
52
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
114
        } else {
131
114
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
114
        }
133
134
166
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
166
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2
        ColumnType* data_column = nullptr;
125
2
        NullMap* null_map = nullptr;
126
2
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
0
            null_map = &nullable_column->get_null_map_data();
128
0
            auto& nested_column = nullable_column->get_nested_column();
129
0
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
22
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
22
        ColumnType* data_column = nullptr;
125
22
        NullMap* null_map = nullptr;
126
22
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
20
            null_map = &nullable_column->get_null_map_data();
128
20
            auto& nested_column = nullable_column->get_nested_column();
129
20
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
20
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
22
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
65
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
65
        ColumnType* data_column = nullptr;
125
65
        NullMap* null_map = nullptr;
126
65
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
49
            null_map = &nullable_column->get_null_map_data();
128
49
            auto& nested_column = nullable_column->get_nested_column();
129
49
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
49
        } else {
131
16
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
16
        }
133
134
65
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
65
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
31
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
31
        ColumnType* data_column = nullptr;
125
31
        NullMap* null_map = nullptr;
126
31
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
31
            null_map = &nullable_column->get_null_map_data();
128
31
            auto& nested_column = nullable_column->get_nested_column();
129
31
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
31
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
31
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
31
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
25
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
25
        ColumnType* data_column = nullptr;
125
25
        NullMap* null_map = nullptr;
126
25
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
14
            null_map = &nullable_column->get_null_map_data();
128
14
            auto& nested_column = nullable_column->get_nested_column();
129
14
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
14
        } else {
131
11
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
11
        }
133
134
25
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
25
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_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
57
            null_map = &nullable_column->get_null_map_data();
128
57
            auto& nested_column = nullable_column->get_nested_column();
129
57
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
57
        } else {
131
55
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
55
        }
133
134
112
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
112
    }
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
47
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
47
        ColumnType* data_column = nullptr;
125
47
        NullMap* null_map = nullptr;
126
47
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
21
            null_map = &nullable_column->get_null_map_data();
128
21
            auto& nested_column = nullable_column->get_nested_column();
129
21
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
26
        } else {
131
26
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
26
        }
133
134
47
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
47
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
37
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
37
        ColumnType* data_column = nullptr;
125
37
        NullMap* null_map = nullptr;
126
37
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
28
            null_map = &nullable_column->get_null_map_data();
128
28
            auto& nested_column = nullable_column->get_nested_column();
129
28
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
28
        } else {
131
9
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
9
        }
133
134
37
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
37
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
13.2k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
13.2k
        auto& result_data = data;
139
13.2k
        const auto& from_data = from.data;
140
141
13.2k
        auto* result_null_map_data = null_map;
142
13.2k
        const auto* from_null_map_data = from.null_map;
143
144
13.2k
        if (from.is_const) {
145
6.41k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6.41k
                                     from_null_map_data, selector);
147
6.82k
        } else {
148
6.82k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6.82k
                                      from_null_map_data, selector);
150
6.82k
        }
151
13.2k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
184
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
184
        auto& result_data = data;
139
184
        const auto& from_data = from.data;
140
141
184
        auto* result_null_map_data = null_map;
142
184
        const auto* from_null_map_data = from.null_map;
143
144
184
        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
182
        } else {
148
182
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
182
                                      from_null_map_data, selector);
150
182
        }
151
184
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
10.9k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
10.9k
        auto& result_data = data;
139
10.9k
        const auto& from_data = from.data;
140
141
10.9k
        auto* result_null_map_data = null_map;
142
10.9k
        const auto* from_null_map_data = from.null_map;
143
144
10.9k
        if (from.is_const) {
145
5.80k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5.80k
                                     from_null_map_data, selector);
147
5.80k
        } else {
148
5.17k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
5.17k
                                      from_null_map_data, selector);
150
5.17k
        }
151
10.9k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
38
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
38
        auto& result_data = data;
139
38
        const auto& from_data = from.data;
140
141
38
        auto* result_null_map_data = null_map;
142
38
        const auto* from_null_map_data = from.null_map;
143
144
38
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
34
        } else {
148
34
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
34
                                      from_null_map_data, selector);
150
34
        }
151
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.15k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.15k
        auto& result_data = data;
139
1.15k
        const auto& from_data = from.data;
140
141
1.15k
        auto* result_null_map_data = null_map;
142
1.15k
        const auto* from_null_map_data = from.null_map;
143
144
1.15k
        if (from.is_const) {
145
420
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
420
                                     from_null_map_data, selector);
147
730
        } else {
148
730
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
730
                                      from_null_map_data, selector);
150
730
        }
151
1.15k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
311
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
311
        auto& result_data = data;
139
311
        const auto& from_data = from.data;
140
141
311
        auto* result_null_map_data = null_map;
142
311
        const auto* from_null_map_data = from.null_map;
143
144
311
        if (from.is_const) {
145
54
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
54
                                     from_null_map_data, selector);
147
257
        } else {
148
257
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
257
                                      from_null_map_data, selector);
150
257
        }
151
311
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2
        auto& result_data = data;
139
2
        const auto& from_data = from.data;
140
141
2
        auto* result_null_map_data = null_map;
142
2
        const auto* from_null_map_data = from.null_map;
143
144
2
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
2
        } else {
148
0
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
0
                                      from_null_map_data, selector);
150
0
        }
151
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
26
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
26
        auto& result_data = data;
139
26
        const auto& from_data = from.data;
140
141
26
        auto* result_null_map_data = null_map;
142
26
        const auto* from_null_map_data = from.null_map;
143
144
26
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
22
        } else {
148
22
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
22
                                      from_null_map_data, selector);
150
22
        }
151
26
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
110
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
110
        auto& result_data = data;
139
110
        const auto& from_data = from.data;
140
141
110
        auto* result_null_map_data = null_map;
142
110
        const auto* from_null_map_data = from.null_map;
143
144
110
        if (from.is_const) {
145
23
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
23
                                     from_null_map_data, selector);
147
87
        } else {
148
87
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
87
                                      from_null_map_data, selector);
150
87
        }
151
110
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
46
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
46
        auto& result_data = data;
139
46
        const auto& from_data = from.data;
140
141
46
        auto* result_null_map_data = null_map;
142
46
        const auto* from_null_map_data = from.null_map;
143
144
46
        if (from.is_const) {
145
3
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
3
                                     from_null_map_data, selector);
147
43
        } else {
148
43
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
43
                                      from_null_map_data, selector);
150
43
        }
151
46
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
49
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
49
        auto& result_data = data;
139
49
        const auto& from_data = from.data;
140
141
49
        auto* result_null_map_data = null_map;
142
49
        const auto* from_null_map_data = from.null_map;
143
144
49
        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
39
        } else {
148
39
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
39
                                      from_null_map_data, selector);
150
39
        }
151
49
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
220
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
220
        auto& result_data = data;
139
220
        const auto& from_data = from.data;
140
141
220
        auto* result_null_map_data = null_map;
142
220
        const auto* from_null_map_data = from.null_map;
143
144
220
        if (from.is_const) {
145
82
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
82
                                     from_null_map_data, selector);
147
138
        } else {
148
138
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
138
                                      from_null_map_data, selector);
150
138
        }
151
220
    }
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
76
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
76
        auto& result_data = data;
139
76
        const auto& from_data = from.data;
140
141
76
        auto* result_null_map_data = null_map;
142
76
        const auto* from_null_map_data = from.null_map;
143
144
76
        if (from.is_const) {
145
5
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5
                                     from_null_map_data, selector);
147
71
        } else {
148
71
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
71
                                      from_null_map_data, selector);
150
71
        }
151
76
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
50
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
50
        auto& result_data = data;
139
50
        const auto& from_data = from.data;
140
141
50
        auto* result_null_map_data = null_map;
142
50
        const auto* from_null_map_data = from.null_map;
143
144
50
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
46
        } else {
148
46
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
46
                                      from_null_map_data, selector);
150
46
        }
151
50
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
13.2k
                                   const Selector& selector) {
157
13.2k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
13.2k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.65k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.65k
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
13.2k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
182
                                   const Selector& selector) {
157
182
        insert_with_selector<is_const>(result_data, from_data, selector);
158
182
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
182
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
5.80k
                                   const Selector& selector) {
157
5.80k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
5.80k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
4
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
4
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
5.80k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
5.17k
                                   const Selector& selector) {
157
5.17k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
5.17k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
435
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
435
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
5.17k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4
                                   const Selector& selector) {
157
4
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
34
                                   const Selector& selector) {
157
34
        insert_with_selector<is_const>(result_data, from_data, selector);
158
34
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
34
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
34
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
420
                                   const Selector& selector) {
157
420
        insert_with_selector<is_const>(result_data, from_data, selector);
158
420
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
404
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
404
        }
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
420
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
730
                                   const Selector& selector) {
157
730
        insert_with_selector<is_const>(result_data, from_data, selector);
158
730
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
392
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
392
        }
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
730
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
54
                                   const Selector& selector) {
157
54
        insert_with_selector<is_const>(result_data, from_data, selector);
158
54
        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
54
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
257
                                   const Selector& selector) {
157
257
        insert_with_selector<is_const>(result_data, from_data, selector);
158
257
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
67
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
67
        }
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
257
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4
                                   const Selector& selector) {
157
4
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
22
                                   const Selector& selector) {
157
22
        insert_with_selector<is_const>(result_data, from_data, selector);
158
22
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
22
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
22
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
23
                                   const Selector& selector) {
157
23
        insert_with_selector<is_const>(result_data, from_data, selector);
158
23
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
5
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
5
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
23
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
87
                                   const Selector& selector) {
157
87
        insert_with_selector<is_const>(result_data, from_data, selector);
158
87
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
68
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
68
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
87
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
3
                                   const Selector& selector) {
157
3
        insert_with_selector<is_const>(result_data, from_data, selector);
158
3
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
3
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
3
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
43
                                   const Selector& selector) {
157
43
        insert_with_selector<is_const>(result_data, from_data, selector);
158
43
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
41
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
41
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
43
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
10
                                   const Selector& selector) {
157
10
        insert_with_selector<is_const>(result_data, from_data, selector);
158
10
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
7
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
7
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
39
                                   const Selector& selector) {
157
39
        insert_with_selector<is_const>(result_data, from_data, selector);
158
39
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
18
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
18
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
39
    }
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
82
                                   const Selector& selector) {
157
82
        insert_with_selector<is_const>(result_data, from_data, selector);
158
82
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
17
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
17
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
82
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
138
                                   const Selector& selector) {
157
138
        insert_with_selector<is_const>(result_data, from_data, selector);
158
138
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
63
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
63
        }
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
138
    }
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
5
                                   const Selector& selector) {
157
5
        insert_with_selector<is_const>(result_data, from_data, selector);
158
5
        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
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
71
                                   const Selector& selector) {
157
71
        insert_with_selector<is_const>(result_data, from_data, selector);
158
71
        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
71
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
4
                                   const Selector& selector) {
157
4
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
46
                                   const Selector& selector) {
157
46
        insert_with_selector<is_const>(result_data, from_data, selector);
158
46
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
38
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
38
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
46
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
14.8k
                                     const Selector& selector) {
169
21.8M
        for (size_t i = 0; i < selector.size(); ++i) {
170
21.8M
            auto index = selector[i];
171
21.8M
            result_data[index] = data[index_check_const<is_const>(i)];
172
21.8M
        }
173
14.8k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
182
                                     const Selector& selector) {
169
510
        for (size_t i = 0; i < selector.size(); ++i) {
170
328
            auto index = selector[i];
171
328
            result_data[index] = data[index_check_const<is_const>(i)];
172
328
        }
173
182
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5.80k
                                     const Selector& selector) {
169
21.8M
        for (size_t i = 0; i < selector.size(); ++i) {
170
21.8M
            auto index = selector[i];
171
21.8M
            result_data[index] = data[index_check_const<is_const>(i)];
172
21.8M
        }
173
5.80k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5.17k
                                     const Selector& selector) {
169
10.0k
        for (size_t i = 0; i < selector.size(); ++i) {
170
4.91k
            auto index = selector[i];
171
4.91k
            result_data[index] = data[index_check_const<is_const>(i)];
172
4.91k
        }
173
5.17k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
435
                                     const Selector& selector) {
169
5.34k
        for (size_t i = 0; i < selector.size(); ++i) {
170
4.90k
            auto index = selector[i];
171
4.90k
            result_data[index] = data[index_check_const<is_const>(i)];
172
4.90k
        }
173
435
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
34
                                     const Selector& selector) {
169
124
        for (size_t i = 0; i < selector.size(); ++i) {
170
90
            auto index = selector[i];
171
90
            result_data[index] = data[index_check_const<is_const>(i)];
172
90
        }
173
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
34
                                     const Selector& selector) {
169
124
        for (size_t i = 0; i < selector.size(); ++i) {
170
90
            auto index = selector[i];
171
90
            result_data[index] = data[index_check_const<is_const>(i)];
172
90
        }
173
34
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
420
                                     const Selector& selector) {
169
1.97k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.55k
            auto index = selector[i];
171
1.55k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.55k
        }
173
420
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
404
                                     const Selector& selector) {
169
1.92k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.51k
            auto index = selector[i];
171
1.51k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.51k
        }
173
404
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
730
                                     const Selector& selector) {
169
1.82k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.09k
            auto index = selector[i];
171
1.09k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.09k
        }
173
730
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
392
                                     const Selector& selector) {
169
603
        for (size_t i = 0; i < selector.size(); ++i) {
170
211
            auto index = selector[i];
171
211
            result_data[index] = data[index_check_const<is_const>(i)];
172
211
        }
173
392
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
54
                                     const Selector& selector) {
169
208
        for (size_t i = 0; i < selector.size(); ++i) {
170
154
            auto index = selector[i];
171
154
            result_data[index] = data[index_check_const<is_const>(i)];
172
154
        }
173
54
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
257
                                     const Selector& selector) {
169
965
        for (size_t i = 0; i < selector.size(); ++i) {
170
708
            auto index = selector[i];
171
708
            result_data[index] = data[index_check_const<is_const>(i)];
172
708
        }
173
257
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
67
                                     const Selector& selector) {
169
194
        for (size_t i = 0; i < selector.size(); ++i) {
170
127
            auto index = selector[i];
171
127
            result_data[index] = data[index_check_const<is_const>(i)];
172
127
        }
173
67
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
82
        for (size_t i = 0; i < selector.size(); ++i) {
170
60
            auto index = selector[i];
171
60
            result_data[index] = data[index_check_const<is_const>(i)];
172
60
        }
173
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
82
        for (size_t i = 0; i < selector.size(); ++i) {
170
60
            auto index = selector[i];
171
60
            result_data[index] = data[index_check_const<is_const>(i)];
172
60
        }
173
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
23
                                     const Selector& selector) {
169
6.44k
        for (size_t i = 0; i < selector.size(); ++i) {
170
6.41k
            auto index = selector[i];
171
6.41k
            result_data[index] = data[index_check_const<is_const>(i)];
172
6.41k
        }
173
23
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5
                                     const Selector& selector) {
169
9
        for (size_t i = 0; i < selector.size(); ++i) {
170
4
            auto index = selector[i];
171
4
            result_data[index] = data[index_check_const<is_const>(i)];
172
4
        }
173
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
87
                                     const Selector& selector) {
169
1.43k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.35k
            auto index = selector[i];
171
1.35k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.35k
        }
173
87
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
68
                                     const Selector& selector) {
169
1.41k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.34k
            auto index = selector[i];
171
1.34k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.34k
        }
173
68
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
43
                                     const Selector& selector) {
169
136
        for (size_t i = 0; i < selector.size(); ++i) {
170
93
            auto index = selector[i];
171
93
            result_data[index] = data[index_check_const<is_const>(i)];
172
93
        }
173
43
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
41
                                     const Selector& selector) {
169
134
        for (size_t i = 0; i < selector.size(); ++i) {
170
93
            auto index = selector[i];
171
93
            result_data[index] = data[index_check_const<is_const>(i)];
172
93
        }
173
41
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
25
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
18
        for (size_t i = 0; i < selector.size(); ++i) {
170
11
            auto index = selector[i];
171
11
            result_data[index] = data[index_check_const<is_const>(i)];
172
11
        }
173
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
39
                                     const Selector& selector) {
169
94
        for (size_t i = 0; i < selector.size(); ++i) {
170
55
            auto index = selector[i];
171
55
            result_data[index] = data[index_check_const<is_const>(i)];
172
55
        }
173
39
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
18
                                     const Selector& selector) {
169
34
        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
18
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
82
                                     const Selector& selector) {
169
14.0k
        for (size_t i = 0; i < selector.size(); ++i) {
170
13.9k
            auto index = selector[i];
171
13.9k
            result_data[index] = data[index_check_const<is_const>(i)];
172
13.9k
        }
173
82
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
17
                                     const Selector& selector) {
169
46
        for (size_t i = 0; i < selector.size(); ++i) {
170
29
            auto index = selector[i];
171
29
            result_data[index] = data[index_check_const<is_const>(i)];
172
29
        }
173
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
138
                                     const Selector& selector) {
169
2.78k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.64k
            auto index = selector[i];
171
2.64k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.64k
        }
173
138
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
63
                                     const Selector& selector) {
169
204
        for (size_t i = 0; i < selector.size(); ++i) {
170
141
            auto index = selector[i];
171
141
            result_data[index] = data[index_check_const<is_const>(i)];
172
141
        }
173
63
    }
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
5
                                     const Selector& selector) {
169
9
        for (size_t i = 0; i < selector.size(); ++i) {
170
4
            auto index = selector[i];
171
4
            result_data[index] = data[index_check_const<is_const>(i)];
172
4
        }
173
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
71
                                     const Selector& selector) {
169
181
        for (size_t i = 0; i < selector.size(); ++i) {
170
110
            auto index = selector[i];
171
110
            result_data[index] = data[index_check_const<is_const>(i)];
172
110
        }
173
71
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
23
                                     const Selector& selector) {
169
83
        for (size_t i = 0; i < selector.size(); ++i) {
170
60
            auto index = selector[i];
171
60
            result_data[index] = data[index_check_const<is_const>(i)];
172
60
        }
173
23
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
46
                                     const Selector& selector) {
169
142
        for (size_t i = 0; i < selector.size(); ++i) {
170
96
            auto index = selector[i];
171
96
            result_data[index] = data[index_check_const<is_const>(i)];
172
96
        }
173
46
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
38
                                     const Selector& selector) {
169
124
        for (size_t i = 0; i < selector.size(); ++i) {
170
86
            auto index = selector[i];
171
86
            result_data[index] = data[index_check_const<is_const>(i)];
172
86
        }
173
38
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
42
    void insert_null(const Selector& selector) {
176
42
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
42
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
41
        auto& null_map_data = *null_map;
183
85
        for (size_t i = 0; i < selector.size(); ++i) {
184
44
            null_map_data[selector[i]] = 1;
185
44
        }
186
41
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
6
        auto& null_map_data = *null_map;
183
12
        for (size_t i = 0; i < selector.size(); ++i) {
184
6
            null_map_data[selector[i]] = 1;
185
6
        }
186
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
8
    void insert_null(const Selector& selector) {
176
8
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
8
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
7
        auto& null_map_data = *null_map;
183
17
        for (size_t i = 0; i < selector.size(); ++i) {
184
10
            null_map_data[selector[i]] = 1;
185
10
        }
186
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
4
    void insert_null(const Selector& selector) {
176
4
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
4
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
4
        auto& null_map_data = *null_map;
183
8
        for (size_t i = 0; i < selector.size(); ++i) {
184
4
            null_map_data[selector[i]] = 1;
185
4
        }
186
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
438
    bool output_nulls() const { return column.get() == nullptr; }
199
200
    std::string debug_string() const {
201
        std::stringstream ss;
202
        ss << "ColumnAndSelector(selector_size=" << selector.size()
203
           << ", output_nulls=" << output_nulls()
204
           << ", column size=" << (column ? std::to_string(column->size()) : "null") << ")";
205
206
        ss << "\n selector data: [";
207
        for (size_t i = 0; i < selector.size(); ++i) {
208
            if (i != 0) {
209
                ss << ", ";
210
            }
211
            ss << selector[i];
212
        }
213
        ss << "]";
214
        return ss.str();
215
    }
216
};
217
218
// Scalar version of fill.
219
// Initializes the result column at the beginning.
220
// Subsequently fills data from each column into the result column using selectors.
221
template <PrimitiveType PType>
222
struct ScalarFillWithSelector {
223
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
224
    using ArrayType = typename ColumnType::Container;
225
226
public:
227
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
228
                          const Selector& true_selector, const ColumnPtr& false_column,
229
6.42k
                          const Selector& false_selector, size_t count) {
230
6.42k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6.42k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6.42k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6.42k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6.42k
        auto result_column = result_type->create_column();
236
237
6.42k
        MutableColumnNullViewScalar<PType> result_column_view =
238
6.42k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6.42k
        init_result_column(result_column_view, count);
240
241
6.42k
        ColumnNullConstViewScalar<PType> true_column_view =
242
6.42k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6.42k
        ColumnNullConstViewScalar<PType> false_column_view =
244
6.42k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6.42k
        result_column_view.insert_from(true_column_view, true_selector);
247
6.42k
        result_column_view.insert_from(false_column_view, false_selector);
248
6.42k
        DCHECK_EQ(result_column->size(), count);
249
6.42k
        return result_column;
250
6.42k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_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_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
5.44k
                          const Selector& false_selector, size_t count) {
230
5.44k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
5.44k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
5.44k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
5.44k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
5.44k
        auto result_column = result_type->create_column();
236
237
5.44k
        MutableColumnNullViewScalar<PType> result_column_view =
238
5.44k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
5.44k
        init_result_column(result_column_view, count);
240
241
5.44k
        ColumnNullConstViewScalar<PType> true_column_view =
242
5.44k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
5.44k
        ColumnNullConstViewScalar<PType> false_column_view =
244
5.44k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
5.44k
        result_column_view.insert_from(true_column_view, true_selector);
247
5.44k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
5.44k
        return result_column;
250
5.44k
    }
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
554
                          const Selector& false_selector, size_t count) {
230
554
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
554
        DCHECK_EQ(true_column->size(), true_selector.size());
232
554
        DCHECK_EQ(false_column->size(), false_selector.size());
233
554
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
554
        auto result_column = result_type->create_column();
236
237
554
        MutableColumnNullViewScalar<PType> result_column_view =
238
554
                MutableColumnNullViewScalar<PType>::create(result_column);
239
554
        init_result_column(result_column_view, count);
240
241
554
        ColumnNullConstViewScalar<PType> true_column_view =
242
554
                ColumnNullConstViewScalar<PType>::create(true_column);
243
554
        ColumnNullConstViewScalar<PType> false_column_view =
244
554
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
554
        result_column_view.insert_from(true_column_view, true_selector);
247
554
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
554
        return result_column;
250
554
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
114
                          const Selector& false_selector, size_t count) {
230
114
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
114
        DCHECK_EQ(true_column->size(), true_selector.size());
232
114
        DCHECK_EQ(false_column->size(), false_selector.size());
233
114
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
114
        auto result_column = result_type->create_column();
236
237
114
        MutableColumnNullViewScalar<PType> result_column_view =
238
114
                MutableColumnNullViewScalar<PType>::create(result_column);
239
114
        init_result_column(result_column_view, count);
240
241
114
        ColumnNullConstViewScalar<PType> true_column_view =
242
114
                ColumnNullConstViewScalar<PType>::create(true_column);
243
114
        ColumnNullConstViewScalar<PType> false_column_view =
244
114
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
114
        result_column_view.insert_from(true_column_view, true_selector);
247
114
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
114
        return result_column;
250
114
    }
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
40
                          const Selector& false_selector, size_t count) {
230
40
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
40
        DCHECK_EQ(true_column->size(), true_selector.size());
232
40
        DCHECK_EQ(false_column->size(), false_selector.size());
233
40
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
40
        auto result_column = result_type->create_column();
236
237
40
        MutableColumnNullViewScalar<PType> result_column_view =
238
40
                MutableColumnNullViewScalar<PType>::create(result_column);
239
40
        init_result_column(result_column_view, count);
240
241
40
        ColumnNullConstViewScalar<PType> true_column_view =
242
40
                ColumnNullConstViewScalar<PType>::create(true_column);
243
40
        ColumnNullConstViewScalar<PType> false_column_view =
244
40
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
40
        result_column_view.insert_from(true_column_view, true_selector);
247
40
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
40
        return result_column;
250
40
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
11
                          const Selector& false_selector, size_t count) {
230
11
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
11
        DCHECK_EQ(true_column->size(), true_selector.size());
232
11
        DCHECK_EQ(false_column->size(), false_selector.size());
233
11
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
11
        auto result_column = result_type->create_column();
236
237
11
        MutableColumnNullViewScalar<PType> result_column_view =
238
11
                MutableColumnNullViewScalar<PType>::create(result_column);
239
11
        init_result_column(result_column_view, count);
240
241
11
        ColumnNullConstViewScalar<PType> true_column_view =
242
11
                ColumnNullConstViewScalar<PType>::create(true_column);
243
11
        ColumnNullConstViewScalar<PType> false_column_view =
244
11
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
11
        result_column_view.insert_from(true_column_view, true_selector);
247
11
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
11
        return result_column;
250
11
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
24
                          const Selector& false_selector, size_t count) {
230
24
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
24
        DCHECK_EQ(true_column->size(), true_selector.size());
232
24
        DCHECK_EQ(false_column->size(), false_selector.size());
233
24
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
24
        auto result_column = result_type->create_column();
236
237
24
        MutableColumnNullViewScalar<PType> result_column_view =
238
24
                MutableColumnNullViewScalar<PType>::create(result_column);
239
24
        init_result_column(result_column_view, count);
240
241
24
        ColumnNullConstViewScalar<PType> true_column_view =
242
24
                ColumnNullConstViewScalar<PType>::create(true_column);
243
24
        ColumnNullConstViewScalar<PType> false_column_view =
244
24
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
24
        result_column_view.insert_from(true_column_view, true_selector);
247
24
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
24
        return result_column;
250
24
    }
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
107
                          const Selector& false_selector, size_t count) {
230
107
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
107
        DCHECK_EQ(true_column->size(), true_selector.size());
232
107
        DCHECK_EQ(false_column->size(), false_selector.size());
233
107
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
107
        auto result_column = result_type->create_column();
236
237
107
        MutableColumnNullViewScalar<PType> result_column_view =
238
107
                MutableColumnNullViewScalar<PType>::create(result_column);
239
107
        init_result_column(result_column_view, count);
240
241
107
        ColumnNullConstViewScalar<PType> true_column_view =
242
107
                ColumnNullConstViewScalar<PType>::create(true_column);
243
107
        ColumnNullConstViewScalar<PType> false_column_view =
244
107
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
107
        result_column_view.insert_from(true_column_view, true_selector);
247
107
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
107
        return result_column;
250
107
    }
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
25
                          const Selector& false_selector, size_t count) {
230
25
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
25
        DCHECK_EQ(true_column->size(), true_selector.size());
232
25
        DCHECK_EQ(false_column->size(), false_selector.size());
233
25
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
25
        auto result_column = result_type->create_column();
236
237
25
        MutableColumnNullViewScalar<PType> result_column_view =
238
25
                MutableColumnNullViewScalar<PType>::create(result_column);
239
25
        init_result_column(result_column_view, count);
240
241
25
        ColumnNullConstViewScalar<PType> true_column_view =
242
25
                ColumnNullConstViewScalar<PType>::create(true_column);
243
25
        ColumnNullConstViewScalar<PType> false_column_view =
244
25
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
25
        result_column_view.insert_from(true_column_view, true_selector);
247
25
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
25
        return result_column;
250
25
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
8
                          const Selector& false_selector, size_t count) {
230
8
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
8
        DCHECK_EQ(true_column->size(), true_selector.size());
232
8
        DCHECK_EQ(false_column->size(), false_selector.size());
233
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
8
        auto result_column = result_type->create_column();
236
237
8
        MutableColumnNullViewScalar<PType> result_column_view =
238
8
                MutableColumnNullViewScalar<PType>::create(result_column);
239
8
        init_result_column(result_column_view, count);
240
241
8
        ColumnNullConstViewScalar<PType> true_column_view =
242
8
                ColumnNullConstViewScalar<PType>::create(true_column);
243
8
        ColumnNullConstViewScalar<PType> false_column_view =
244
8
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
8
        result_column_view.insert_from(true_column_view, true_selector);
247
8
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
8
        return result_column;
250
8
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
291
                          size_t count) {
255
291
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
291
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
291
                                             return sum + cs.selector.size();
258
291
                                         }));
259
291
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
291
        auto result_column = result_type->create_column();
261
262
291
        MutableColumnNullViewScalar<PType> result_column_view =
263
291
                MutableColumnNullViewScalar<PType>::create(result_column);
264
291
        init_result_column(result_column_view, count);
265
266
433
        for (const auto& columns_and_selector : columns_and_selectors) {
267
433
            if (columns_and_selector.output_nulls()) {
268
40
                result_column_view.insert_null(columns_and_selector.selector);
269
393
            } else {
270
393
                ColumnNullConstViewScalar<PType> from_column_view =
271
393
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
393
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
393
            }
274
433
        }
275
291
        DCHECK_EQ(result_column->size(), count);
276
291
        return result_column;
277
291
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
49
                          size_t count) {
255
49
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
49
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
49
                                             return sum + cs.selector.size();
258
49
                                         }));
259
49
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
49
        auto result_column = result_type->create_column();
261
262
49
        MutableColumnNullViewScalar<PType> result_column_view =
263
49
                MutableColumnNullViewScalar<PType>::create(result_column);
264
49
        init_result_column(result_column_view, count);
265
266
85
        for (const auto& columns_and_selector : columns_and_selectors) {
267
85
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
81
            } else {
270
81
                ColumnNullConstViewScalar<PType> from_column_view =
271
81
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
81
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
81
            }
274
85
        }
275
        DCHECK_EQ(result_column->size(), count);
276
49
        return result_column;
277
49
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
32
                          size_t count) {
255
32
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
32
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
32
                                             return sum + cs.selector.size();
258
32
                                         }));
259
32
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
32
        auto result_column = result_type->create_column();
261
262
32
        MutableColumnNullViewScalar<PType> result_column_view =
263
32
                MutableColumnNullViewScalar<PType>::create(result_column);
264
32
        init_result_column(result_column_view, count);
265
266
44
        for (const auto& columns_and_selector : columns_and_selectors) {
267
44
            if (columns_and_selector.output_nulls()) {
268
6
                result_column_view.insert_null(columns_and_selector.selector);
269
38
            } else {
270
38
                ColumnNullConstViewScalar<PType> from_column_view =
271
38
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
38
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
38
            }
274
44
        }
275
        DCHECK_EQ(result_column->size(), count);
276
32
        return result_column;
277
32
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
30
                          size_t count) {
255
30
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
30
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
30
                                             return sum + cs.selector.size();
258
30
                                         }));
259
30
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
30
        auto result_column = result_type->create_column();
261
262
30
        MutableColumnNullViewScalar<PType> result_column_view =
263
30
                MutableColumnNullViewScalar<PType>::create(result_column);
264
30
        init_result_column(result_column_view, count);
265
266
46
        for (const auto& columns_and_selector : columns_and_selectors) {
267
46
            if (columns_and_selector.output_nulls()) {
268
6
                result_column_view.insert_null(columns_and_selector.selector);
269
40
            } else {
270
40
                ColumnNullConstViewScalar<PType> from_column_view =
271
40
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
40
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
40
            }
274
46
        }
275
        DCHECK_EQ(result_column->size(), count);
276
30
        return result_column;
277
30
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
52
                          size_t count) {
255
52
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
52
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
52
                                             return sum + cs.selector.size();
258
52
                                         }));
259
52
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
52
        auto result_column = result_type->create_column();
261
262
52
        MutableColumnNullViewScalar<PType> result_column_view =
263
52
                MutableColumnNullViewScalar<PType>::create(result_column);
264
52
        init_result_column(result_column_view, count);
265
266
87
        for (const auto& columns_and_selector : columns_and_selectors) {
267
87
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
83
            } else {
270
83
                ColumnNullConstViewScalar<PType> from_column_view =
271
83
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
83
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
83
            }
274
87
        }
275
        DCHECK_EQ(result_column->size(), count);
276
52
        return result_column;
277
52
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
22
                          size_t count) {
255
22
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
22
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
22
                                             return sum + cs.selector.size();
258
22
                                         }));
259
22
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
22
        auto result_column = result_type->create_column();
261
262
22
        MutableColumnNullViewScalar<PType> result_column_view =
263
22
                MutableColumnNullViewScalar<PType>::create(result_column);
264
22
        init_result_column(result_column_view, count);
265
266
30
        for (const auto& columns_and_selector : columns_and_selectors) {
267
30
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
26
            } else {
270
26
                ColumnNullConstViewScalar<PType> from_column_view =
271
26
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
26
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
26
            }
274
30
        }
275
        DCHECK_EQ(result_column->size(), count);
276
22
        return result_column;
277
22
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
25
                          size_t count) {
255
25
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
25
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
25
                                             return sum + cs.selector.size();
258
25
                                         }));
259
25
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
25
        auto result_column = result_type->create_column();
261
262
25
        MutableColumnNullViewScalar<PType> result_column_view =
263
25
                MutableColumnNullViewScalar<PType>::create(result_column);
264
25
        init_result_column(result_column_view, count);
265
266
34
        for (const auto& columns_and_selector : columns_and_selectors) {
267
34
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
30
            } else {
270
30
                ColumnNullConstViewScalar<PType> from_column_view =
271
30
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
30
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
30
            }
274
34
        }
275
        DCHECK_EQ(result_column->size(), count);
276
25
        return result_column;
277
25
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
20
                          size_t count) {
255
20
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
20
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
20
                                             return sum + cs.selector.size();
258
20
                                         }));
259
20
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
20
        auto result_column = result_type->create_column();
261
262
20
        MutableColumnNullViewScalar<PType> result_column_view =
263
20
                MutableColumnNullViewScalar<PType>::create(result_column);
264
20
        init_result_column(result_column_view, count);
265
266
28
        for (const auto& columns_and_selector : columns_and_selectors) {
267
28
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
24
            } else {
270
24
                ColumnNullConstViewScalar<PType> from_column_view =
271
24
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
24
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
24
            }
274
28
        }
275
        DCHECK_EQ(result_column->size(), count);
276
20
        return result_column;
277
20
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
1
                          size_t count) {
255
1
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1
                                             return sum + cs.selector.size();
258
1
                                         }));
259
1
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1
        auto result_column = result_type->create_column();
261
262
1
        MutableColumnNullViewScalar<PType> result_column_view =
263
1
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1
        init_result_column(result_column_view, count);
265
266
1
        for (const auto& columns_and_selector : columns_and_selectors) {
267
1
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
1
            } else {
270
1
                ColumnNullConstViewScalar<PType> from_column_view =
271
1
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
1
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
1
            }
274
1
        }
275
        DCHECK_EQ(result_column->size(), count);
276
1
        return result_column;
277
1
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_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
6
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
6
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
22
                          size_t count) {
255
22
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
22
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
22
                                             return sum + cs.selector.size();
258
22
                                         }));
259
22
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
22
        auto result_column = result_type->create_column();
261
262
22
        MutableColumnNullViewScalar<PType> result_column_view =
263
22
                MutableColumnNullViewScalar<PType>::create(result_column);
264
22
        init_result_column(result_column_view, count);
265
266
30
        for (const auto& columns_and_selector : columns_and_selectors) {
267
30
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
26
            } else {
270
26
                ColumnNullConstViewScalar<PType> from_column_view =
271
26
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
26
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
26
            }
274
30
        }
275
        DCHECK_EQ(result_column->size(), count);
276
22
        return result_column;
277
22
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
29
                          size_t count) {
255
29
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
29
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
29
                                             return sum + cs.selector.size();
258
29
                                         }));
259
29
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
29
        auto result_column = result_type->create_column();
261
262
29
        MutableColumnNullViewScalar<PType> result_column_view =
263
29
                MutableColumnNullViewScalar<PType>::create(result_column);
264
29
        init_result_column(result_column_view, count);
265
266
38
        for (const auto& columns_and_selector : columns_and_selectors) {
267
38
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
34
            } else {
270
34
                ColumnNullConstViewScalar<PType> from_column_view =
271
34
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
34
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
34
            }
274
38
        }
275
        DCHECK_EQ(result_column->size(), count);
276
29
        return result_column;
277
29
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
278
279
private:
280
    // if result_column is nullable,nullmap will all init to false
281
    static void init_result_column(MutableColumnNullViewScalar<PType>& result_column_view,
282
6.71k
                                   size_t count) {
283
6.71k
        result_column_view.data.resize(count);
284
6.71k
        if (result_column_view.null_map != nullptr) {
285
1.19k
            result_column_view.null_map->resize_fill(count, 0);
286
1.19k
        }
287
6.71k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
93
                                   size_t count) {
283
93
        result_column_view.data.resize(count);
284
93
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
93
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
5.49k
                                   size_t count) {
283
5.49k
        result_column_view.data.resize(count);
284
5.49k
        if (result_column_view.null_map != nullptr) {
285
438
            result_column_view.null_map->resize_fill(count, 0);
286
438
        }
287
5.49k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
Line
Count
Source
282
32
                                   size_t count) {
283
32
        result_column_view.data.resize(count);
284
32
        if (result_column_view.null_map != nullptr) {
285
30
            result_column_view.null_map->resize_fill(count, 0);
286
30
        }
287
32
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
584
                                   size_t count) {
283
584
        result_column_view.data.resize(count);
284
584
        if (result_column_view.null_map != nullptr) {
285
455
            result_column_view.null_map->resize_fill(count, 0);
286
455
        }
287
584
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
166
                                   size_t count) {
283
166
        result_column_view.data.resize(count);
284
166
        if (result_column_view.null_map != nullptr) {
285
52
            result_column_view.null_map->resize_fill(count, 0);
286
52
        }
287
166
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
Line
Count
Source
282
2
                                   size_t count) {
283
2
        result_column_view.data.resize(count);
284
2
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
Line
Count
Source
282
22
                                   size_t count) {
283
22
        result_column_view.data.resize(count);
284
22
        if (result_column_view.null_map != nullptr) {
285
20
            result_column_view.null_map->resize_fill(count, 0);
286
20
        }
287
22
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
65
                                   size_t count) {
283
65
        result_column_view.data.resize(count);
284
65
        if (result_column_view.null_map != nullptr) {
285
49
            result_column_view.null_map->resize_fill(count, 0);
286
49
        }
287
65
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
31
                                   size_t count) {
283
31
        result_column_view.data.resize(count);
284
31
        if (result_column_view.null_map != nullptr) {
285
31
            result_column_view.null_map->resize_fill(count, 0);
286
31
        }
287
31
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
25
                                   size_t count) {
283
25
        result_column_view.data.resize(count);
284
25
        if (result_column_view.null_map != nullptr) {
285
14
            result_column_view.null_map->resize_fill(count, 0);
286
14
        }
287
25
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
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
57
            result_column_view.null_map->resize_fill(count, 0);
286
57
        }
287
112
    }
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
47
                                   size_t count) {
283
47
        result_column_view.data.resize(count);
284
47
        if (result_column_view.null_map != nullptr) {
285
21
            result_column_view.null_map->resize_fill(count, 0);
286
21
        }
287
47
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
37
                                   size_t count) {
283
37
        result_column_view.data.resize(count);
284
37
        if (result_column_view.null_map != nullptr) {
285
28
            result_column_view.null_map->resize_fill(count, 0);
286
28
        }
287
37
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
473
                          const Selector& false_selector, size_t count) {
296
473
        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
473
        DCHECK_EQ(true_column->size(), true_selector.size());
301
473
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
473
        auto result_column = result_type->create_column();
304
305
473
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
473
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
473
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
473
        size_t true_index = 0;
310
473
        size_t false_index = 0;
311
1.72k
        for (size_t i = 0; i < count; ++i) {
312
1.25k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
153
                result_column_view.insert_from(true_column_view, true_index++);
314
1.10k
            } else {
315
1.10k
                result_column_view.insert_from(false_column_view, false_index++);
316
1.10k
            }
317
1.25k
        }
318
319
473
        DCHECK_EQ(result_column->size(), count);
320
473
        return result_column;
321
473
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
116
                          size_t count) {
326
116
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
116
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
116
                                             return sum + cs.selector.size();
329
116
                                         }));
330
116
        struct FillColumnWithPos {
331
116
            std::optional<ColumnNullConstView> source_column;
332
116
            size_t pos_in_source; // position in the column
333
334
376
            void insert_to_column(MutableColumnNullView& result_column) const {
335
376
                if (!source_column) {
336
17
                    result_column.insert_null();
337
359
                } else {
338
359
                    result_column.insert_from(*source_column, pos_in_source);
339
359
                }
340
376
            }
341
116
        };
342
343
116
        auto mutable_result_column = result_type->create_column();
344
116
        mutable_result_column->reserve(count);
345
346
116
        MutableColumnNullView mutable_result_column_view =
347
116
                MutableColumnNullView::create(mutable_result_column);
348
349
116
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
756
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
756
            if (column_with_selector.selector.empty()) {
353
593
                continue;
354
593
            }
355
539
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
376
                size_t result_index = column_with_selector.selector[i];
357
376
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
376
                if (column_with_selector.column) {
360
359
                    ColumnNullConstView column_view =
361
359
                            ColumnNullConstView::create(column_with_selector.column);
362
359
                    fill_positions[result_index].source_column.emplace(column_view);
363
359
                    fill_positions[result_index].pos_in_source = i;
364
359
                } else {
365
17
                    fill_positions[result_index].source_column = std::nullopt;
366
17
                }
367
376
            }
368
163
        }
369
370
376
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
376
            fill_pos.insert_to_column(mutable_result_column_view);
372
376
        }
373
374
116
        DCHECK_EQ(mutable_result_column->size(), count);
375
116
        return mutable_result_column;
376
116
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
8.00k
            : _selector(selector), _count(count) {}
382
383
    // Iterate over the condition column and generate true_selector and false_selector
384
    // based on null_map and data.
385
386
    template <bool is_const, typename Func>
387
7.99k
    void for_each_with_selector(Func& f) const {
388
7.99k
        if (_selector != nullptr) {
389
761
            const auto& selector_data = *_selector;
390
2.27k
            for (size_t i = 0; i < _count; ++i) {
391
1.51k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.51k
            }
393
7.23k
        } else {
394
21.8M
            for (size_t i = 0; i < _count; ++i) {
395
21.8M
                f(index_check_const<is_const>(i), i, i);
396
21.8M
            }
397
7.23k
        }
398
7.99k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
16
    void for_each_with_selector(Func& f) const {
388
16
        if (_selector != nullptr) {
389
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
16
        } else {
394
32
            for (size_t i = 0; i < _count; ++i) {
395
16
                f(index_check_const<is_const>(i), i, i);
396
16
            }
397
16
        }
398
16
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
857
    void for_each_with_selector(Func& f) const {
388
857
        if (_selector != nullptr) {
389
20
            const auto& selector_data = *_selector;
390
66
            for (size_t i = 0; i < _count; ++i) {
391
46
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
46
            }
393
837
        } else {
394
16.6k
            for (size_t i = 0; i < _count; ++i) {
395
15.8k
                f(index_check_const<is_const>(i), i, i);
396
15.8k
            }
397
837
        }
398
857
    }
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
456
    void for_each_with_selector(Func& f) const {
388
456
        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
456
        } else {
394
340k
            for (size_t i = 0; i < _count; ++i) {
395
340k
                f(index_check_const<is_const>(i), i, i);
396
340k
            }
397
456
        }
398
456
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
5.27k
    void for_each_with_selector(Func& f) const {
388
5.27k
        if (_selector != nullptr) {
389
16
            const auto& selector_data = *_selector;
390
60
            for (size_t i = 0; i < _count; ++i) {
391
44
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
44
            }
393
5.25k
        } else {
394
21.5M
            for (size_t i = 0; i < _count; ++i) {
395
21.5M
                f(index_check_const<is_const>(i), i, i);
396
21.5M
            }
397
5.25k
        }
398
5.27k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
6
    void for_each_with_selector(Func& f) const {
388
6
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
6
        } else {
394
18
            for (size_t i = 0; i < _count; ++i) {
395
12
                f(index_check_const<is_const>(i), i, i);
396
12
            }
397
6
        }
398
6
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
68
    void for_each_with_selector(Func& f) const {
388
68
        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
68
        } else {
394
335
            for (size_t i = 0; i < _count; ++i) {
395
267
                f(index_check_const<is_const>(i), i, i);
396
267
            }
397
68
        }
398
68
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
2
    void for_each_with_selector(Func& f) const {
388
2
        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
2
        } else {
394
6
            for (size_t i = 0; i < _count; ++i) {
395
4
                f(index_check_const<is_const>(i), i, i);
396
4
            }
397
2
        }
398
2
    }
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
2
    void for_each_with_selector(Func& f) const {
388
2
        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
2
        } else {
394
8
            for (size_t i = 0; i < _count; ++i) {
395
6
                f(index_check_const<is_const>(i), i, i);
396
6
            }
397
2
        }
398
2
    }
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
5
    void for_each_with_selector(Func& f) const {
388
5
        if (_selector != nullptr) {
389
5
            const auto& selector_data = *_selector;
390
10
            for (size_t i = 0; i < _count; ++i) {
391
5
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
5
            }
393
5
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
5
    }
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
84
    void for_each_with_selector(Func& f) const {
388
84
        if (_selector != nullptr) {
389
84
            const auto& selector_data = *_selector;
390
292
            for (size_t i = 0; i < _count; ++i) {
391
208
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
208
            }
393
84
        } 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
84
    }
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
535
    void for_each_with_selector(Func& f) const {
388
535
        if (_selector != nullptr) {
389
535
            const auto& selector_data = *_selector;
390
1.61k
            for (size_t i = 0; i < _count; ++i) {
391
1.08k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.08k
            }
393
535
        } 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
535
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
4
    void for_each_with_selector(Func& f) const {
388
4
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
4
            for (size_t i = 0; i < _count; ++i) {
395
2
                f(index_check_const<is_const>(i), i, i);
396
2
            }
397
2
        }
398
4
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
284
    void for_each_with_selector(Func& f) const {
388
284
        if (_selector != nullptr) {
389
13
            const auto& selector_data = *_selector;
390
33
            for (size_t i = 0; i < _count; ++i) {
391
20
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
20
            }
393
271
        } else {
394
1.99k
            for (size_t i = 0; i < _count; ++i) {
395
1.72k
                f(index_check_const<is_const>(i), i, i);
396
1.72k
            }
397
271
        }
398
284
    }
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_
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_EUlmmmE_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
298
    void for_each_with_selector(Func& f) const {
388
298
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
2
            for (size_t i = 0; i < _count; ++i) {
391
1
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1
            }
393
297
        } else {
394
1.17k
            for (size_t i = 0; i < _count; ++i) {
395
876
                f(index_check_const<is_const>(i), i, i);
396
876
            }
397
297
        }
398
298
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
24
    void for_each_with_selector(Func& f) const {
388
24
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
24
        } else {
394
48
            for (size_t i = 0; i < _count; ++i) {
395
24
                f(index_check_const<is_const>(i), i, i);
396
24
            }
397
24
        }
398
24
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
24
    void for_each_with_selector(Func& f) const {
388
24
        if (_selector != nullptr) {
389
24
            const auto& selector_data = *_selector;
390
48
            for (size_t i = 0; i < _count; ++i) {
391
24
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
24
            }
393
24
        } 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
24
    }
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
31
    void for_each_with_selector(Func& f) const {
388
31
        if (_selector != nullptr) {
389
31
            const auto& selector_data = *_selector;
390
65
            for (size_t i = 0; i < _count; ++i) {
391
34
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
34
            }
393
31
        } 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
31
    }
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
29
    void for_each_with_selector(Func& f) const {
388
29
        if (_selector != nullptr) {
389
29
            const auto& selector_data = *_selector;
390
78
            for (size_t i = 0; i < _count; ++i) {
391
49
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
49
            }
393
29
        } 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
29
    }
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
1
    void for_each_with_selector(Func& f) const {
388
1
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
2
            for (size_t i = 0; i < _count; ++i) {
391
1
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1
            }
393
1
        } 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
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
7.30k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
7.30k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
7.30k
                                      size_t count) {
415
7.30k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
7.30k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
7.30k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
7.30k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
7.30k
        if (this->null_map != nullptr) {
422
1.03k
            const auto& null_map_data = *(this->null_map);
423
16.3k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
16.3k
                if (null_map_data[i]) {
425
186
                    null_func(self_index, executor_index);
426
16.1k
                } else {
427
16.1k
                    if (this->data[i]) {
428
5.06k
                        true_func(self_index, executor_index);
429
11.1k
                    } else {
430
11.1k
                        false_func(self_index, executor_index);
431
11.1k
                    }
432
16.1k
                }
433
16.3k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
15.8k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
15.8k
                if (null_map_data[i]) {
425
127
                    null_func(self_index, executor_index);
426
15.7k
                } else {
427
15.7k
                    if (this->data[i]) {
428
4.84k
                        true_func(self_index, executor_index);
429
10.9k
                    } else {
430
10.9k
                        false_func(self_index, executor_index);
431
10.9k
                    }
432
15.7k
                }
433
15.8k
            };
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
279
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
279
                if (null_map_data[i]) {
425
38
                    null_func(self_index, executor_index);
426
241
                } else {
427
241
                    if (this->data[i]) {
428
117
                        true_func(self_index, executor_index);
429
124
                    } else {
430
124
                        false_func(self_index, executor_index);
431
124
                    }
432
241
                }
433
279
            };
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
213
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
213
                if (null_map_data[i]) {
425
21
                    null_func(self_index, executor_index);
426
192
                } else {
427
192
                    if (this->data[i]) {
428
101
                        true_func(self_index, executor_index);
429
101
                    } else {
430
91
                        false_func(self_index, executor_index);
431
91
                    }
432
192
                }
433
213
            };
434
1.03k
            if (is_const) {
435
27
                for_each_with_selector<true>(update);
436
1.00k
            } else {
437
1.00k
                for_each_with_selector<false>(update);
438
1.00k
            }
439
6.26k
        } else {
440
            // non-nullable condition column
441
21.8M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
21.8M
                if (this->data[i]) {
443
20.0M
                    true_func(self_index, executor_index);
444
20.0M
                } else {
445
1.84M
                    false_func(self_index, executor_index);
446
1.84M
                }
447
21.8M
            };
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
21.8M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
21.8M
                if (this->data[i]) {
443
20.0M
                    true_func(self_index, executor_index);
444
20.0M
                } else {
445
1.84M
                    false_func(self_index, executor_index);
446
1.84M
                }
447
21.8M
            };
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
10
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10
                if (this->data[i]) {
443
0
                    true_func(self_index, executor_index);
444
10
                } else {
445
10
                    false_func(self_index, executor_index);
446
10
                }
447
10
            };
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.08k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.08k
                if (this->data[i]) {
443
18
                    true_func(self_index, executor_index);
444
1.06k
                } else {
445
1.06k
                    false_func(self_index, executor_index);
446
1.06k
                }
447
1.08k
            };
448
6.26k
            if (is_const) {
449
458
                for_each_with_selector<true>(update);
450
5.80k
            } else {
451
5.80k
                for_each_with_selector<false>(update);
452
5.80k
            }
453
6.26k
        }
454
7.30k
    }
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
6.59k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
6.59k
        if (this->null_map != nullptr) {
422
873
            const auto& null_map_data = *(this->null_map);
423
873
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
873
                if (null_map_data[i]) {
425
873
                    null_func(self_index, executor_index);
426
873
                } else {
427
873
                    if (this->data[i]) {
428
873
                        true_func(self_index, executor_index);
429
873
                    } else {
430
873
                        false_func(self_index, executor_index);
431
873
                    }
432
873
                }
433
873
            };
434
873
            if (is_const) {
435
16
                for_each_with_selector<true>(update);
436
857
            } else {
437
857
                for_each_with_selector<false>(update);
438
857
            }
439
5.72k
        } else {
440
            // non-nullable condition column
441
5.72k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
5.72k
                if (this->data[i]) {
443
5.72k
                    true_func(self_index, executor_index);
444
5.72k
                } else {
445
5.72k
                    false_func(self_index, executor_index);
446
5.72k
                }
447
5.72k
            };
448
5.72k
            if (is_const) {
449
456
                for_each_with_selector<true>(update);
450
5.27k
            } else {
451
5.27k
                for_each_with_selector<false>(update);
452
5.27k
            }
453
5.72k
        }
454
6.59k
    }
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
78
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
78
        if (this->null_map != nullptr) {
422
74
            const auto& null_map_data = *(this->null_map);
423
74
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
74
                if (null_map_data[i]) {
425
74
                    null_func(self_index, executor_index);
426
74
                } else {
427
74
                    if (this->data[i]) {
428
74
                        true_func(self_index, executor_index);
429
74
                    } else {
430
74
                        false_func(self_index, executor_index);
431
74
                    }
432
74
                }
433
74
            };
434
74
            if (is_const) {
435
6
                for_each_with_selector<true>(update);
436
68
            } else {
437
68
                for_each_with_selector<false>(update);
438
68
            }
439
74
        } else {
440
            // non-nullable condition column
441
4
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
4
                if (this->data[i]) {
443
4
                    true_func(self_index, executor_index);
444
4
                } else {
445
4
                    false_func(self_index, executor_index);
446
4
                }
447
4
            };
448
4
            if (is_const) {
449
2
                for_each_with_selector<true>(update);
450
2
            } else {
451
2
                for_each_with_selector<false>(update);
452
2
            }
453
4
        }
454
78
    }
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
624
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
624
        if (this->null_map != nullptr) {
422
89
            const auto& null_map_data = *(this->null_map);
423
89
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
89
                if (null_map_data[i]) {
425
89
                    null_func(self_index, executor_index);
426
89
                } else {
427
89
                    if (this->data[i]) {
428
89
                        true_func(self_index, executor_index);
429
89
                    } else {
430
89
                        false_func(self_index, executor_index);
431
89
                    }
432
89
                }
433
89
            };
434
89
            if (is_const) {
435
5
                for_each_with_selector<true>(update);
436
84
            } else {
437
84
                for_each_with_selector<false>(update);
438
84
            }
439
535
        } else {
440
            // non-nullable condition column
441
535
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
535
                if (this->data[i]) {
443
535
                    true_func(self_index, executor_index);
444
535
                } else {
445
535
                    false_func(self_index, executor_index);
446
535
                }
447
535
            };
448
535
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
535
            } else {
451
535
                for_each_with_selector<false>(update);
452
535
            }
453
535
        }
454
624
    }
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
699
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
700
                                          size_t count) {
465
700
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
700
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
700
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
694
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
694
        if (this->null_map != nullptr) {
472
641
            const auto& null_map_data = *(this->null_map);
473
2.68k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
2.68k
                if (null_map_data[i]) {
475
223
                    null_func(self_index, executor_index);
476
2.45k
                } else {
477
2.45k
                    not_null_func(self_index, executor_index);
478
2.45k
                }
479
2.68k
            };
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.74k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.74k
                if (null_map_data[i]) {
475
68
                    null_func(self_index, executor_index);
476
1.67k
                } else {
477
1.67k
                    not_null_func(self_index, executor_index);
478
1.67k
                }
479
1.74k
            };
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
877
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
877
                if (null_map_data[i]) {
475
106
                    null_func(self_index, executor_index);
476
771
                } else {
477
771
                    not_null_func(self_index, executor_index);
478
771
                }
479
877
            };
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
58
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
58
                if (null_map_data[i]) {
475
49
                    null_func(self_index, executor_index);
476
49
                } else {
477
9
                    not_null_func(self_index, executor_index);
478
9
                }
479
58
            };
480
641
            if (is_const) {
481
28
                for_each_with_selector<true>(update);
482
613
            } else {
483
613
                for_each_with_selector<false>(update);
484
613
            }
485
641
        } else {
486
            // non-nullable condition column
487
74
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
74
                not_null_func(self_index, executor_index);
489
74
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
50
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
50
                not_null_func(self_index, executor_index);
489
50
            };
490
53
            if (is_const) {
491
53
                for_each_with_selector<true>(update);
492
53
            } else {
493
0
                for_each_with_selector<false>(update);
494
0
            }
495
53
        }
496
694
    }
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
288
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
288
        if (this->null_map != nullptr) {
472
288
            const auto& null_map_data = *(this->null_map);
473
288
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
288
                if (null_map_data[i]) {
475
288
                    null_func(self_index, executor_index);
476
288
                } else {
477
288
                    not_null_func(self_index, executor_index);
478
288
                }
479
288
            };
480
288
            if (is_const) {
481
4
                for_each_with_selector<true>(update);
482
284
            } else {
483
284
                for_each_with_selector<false>(update);
484
284
            }
485
288
        } 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
288
    }
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
321
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
321
        if (this->null_map != nullptr) {
472
298
            const auto& null_map_data = *(this->null_map);
473
298
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
298
                if (null_map_data[i]) {
475
298
                    null_func(self_index, executor_index);
476
298
                } else {
477
298
                    not_null_func(self_index, executor_index);
478
298
                }
479
298
            };
480
298
            if (is_const) {
481
0
                for_each_with_selector<true>(update);
482
298
            } else {
483
298
                for_each_with_selector<false>(update);
484
298
            }
485
298
        } else {
486
            // non-nullable condition column
487
23
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
23
                not_null_func(self_index, executor_index);
489
23
            };
490
24
            if (is_const) {
491
24
                for_each_with_selector<true>(update);
492
18.4E
            } else {
493
18.4E
                for_each_with_selector<false>(update);
494
18.4E
            }
495
23
        }
496
321
    }
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
85
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
85
        if (this->null_map != nullptr) {
472
55
            const auto& null_map_data = *(this->null_map);
473
55
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
55
                if (null_map_data[i]) {
475
55
                    null_func(self_index, executor_index);
476
55
                } else {
477
55
                    not_null_func(self_index, executor_index);
478
55
                }
479
55
            };
480
55
            if (is_const) {
481
24
                for_each_with_selector<true>(update);
482
31
            } else {
483
31
                for_each_with_selector<false>(update);
484
31
            }
485
55
        } else {
486
            // non-nullable condition column
487
30
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
30
                not_null_func(self_index, executor_index);
489
30
            };
490
30
            if (is_const) {
491
29
                for_each_with_selector<true>(update);
492
29
            } else {
493
1
                for_each_with_selector<false>(update);
494
1
            }
495
30
        }
496
85
    }
497
};
498
499
} // namespace doris