Coverage Report

Created: 2026-07-31 14:54

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/short_circuit_util.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include "core/block/column_with_type_and_name.h"
20
#include "core/column/column.h"
21
#include "core/column/column_const.h"
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_vector.h"
24
#include "core/field.h"
25
#include "exprs/vexpr.h"
26
27
namespace doris {
28
29
// Used to store a column along with its null_map and whether it is a const column.
30
// If the input column is not nullable, then null_map will be nullptr.
31
struct ColumnNullConstView {
32
    const IColumn& column;
33
    const NullMap* null_map;
34
    const bool is_const;
35
36
3.30k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
3.30k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
3.30k
        if (const auto* nullable_column =
40
3.30k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.34k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.34k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.34k
                                        .is_const = is_const};
44
1.95k
        } else {
45
1.95k
            return ColumnNullConstView {
46
1.95k
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
1.95k
        }
48
3.30k
    }
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
10.7k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
10.7k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
10.7k
        const NullMap* null_map = nullptr;
64
10.7k
        const ArrayType* data = nullptr;
65
10.7k
        if (const auto* nullable_column =
66
10.7k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
3.02k
            null_map = &nullable_column->get_null_map_data();
68
3.02k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
3.02k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
7.73k
        } else {
71
7.73k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
7.73k
        }
73
74
10.7k
        return ColumnNullConstViewScalar {
75
10.7k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
10.7k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
3.88k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
3.88k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
3.88k
        const NullMap* null_map = nullptr;
64
3.88k
        const ArrayType* data = nullptr;
65
3.88k
        if (const auto* nullable_column =
66
3.88k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
727
            null_map = &nullable_column->get_null_map_data();
68
727
            const auto& nested_from_column = nullable_column->get_nested_column();
69
727
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.15k
        } else {
71
3.15k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.15k
        }
73
74
3.88k
        return ColumnNullConstViewScalar {
75
3.88k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
3.88k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4.08k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4.08k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4.08k
        const NullMap* null_map = nullptr;
64
4.08k
        const ArrayType* data = nullptr;
65
4.08k
        if (const auto* nullable_column =
66
4.08k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
45
            null_map = &nullable_column->get_null_map_data();
68
45
            const auto& nested_from_column = nullable_column->get_nested_column();
69
45
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
4.03k
        } else {
71
4.03k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
4.03k
        }
73
74
4.08k
        return ColumnNullConstViewScalar {
75
4.08k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4.08k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_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_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.97k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.97k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.97k
        const NullMap* null_map = nullptr;
64
1.97k
        const ArrayType* data = nullptr;
65
1.97k
        if (const auto* nullable_column =
66
1.97k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1.73k
            null_map = &nullable_column->get_null_map_data();
68
1.73k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1.73k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
1.73k
        } else {
71
241
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
241
        }
73
74
1.97k
        return ColumnNullConstViewScalar {
75
1.97k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.97k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
339
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
339
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
339
        const NullMap* null_map = nullptr;
64
339
        const ArrayType* data = nullptr;
65
339
        if (const auto* nullable_column =
66
339
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
170
            null_map = &nullable_column->get_null_map_data();
68
170
            const auto& nested_from_column = nullable_column->get_nested_column();
69
170
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
170
        } else {
71
169
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
169
        }
73
74
339
        return ColumnNullConstViewScalar {
75
339
                .data = *data, .null_map = null_map, .is_const = is_const};
76
339
    }
_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
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_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
196
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
196
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
196
        const NullMap* null_map = nullptr;
64
196
        const ArrayType* data = nullptr;
65
196
        if (const auto* nullable_column =
66
196
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
134
            null_map = &nullable_column->get_null_map_data();
68
134
            const auto& nested_from_column = nullable_column->get_nested_column();
69
134
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
134
        } else {
71
62
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
62
        }
73
74
196
        return ColumnNullConstViewScalar {
75
196
                .data = *data, .null_map = null_map, .is_const = is_const};
76
196
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
32
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
32
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
32
        const NullMap* null_map = nullptr;
64
32
        const ArrayType* data = nullptr;
65
32
        if (const auto* nullable_column =
66
32
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
30
            null_map = &nullable_column->get_null_map_data();
68
30
            const auto& nested_from_column = nullable_column->get_nested_column();
69
30
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
30
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
32
        return ColumnNullConstViewScalar {
75
32
                .data = *data, .null_map = null_map, .is_const = is_const};
76
32
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
51
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
51
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
51
        const NullMap* null_map = nullptr;
64
51
        const ArrayType* data = nullptr;
65
51
        if (const auto* nullable_column =
66
51
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
38
            null_map = &nullable_column->get_null_map_data();
68
38
            const auto& nested_from_column = nullable_column->get_nested_column();
69
38
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
38
        } else {
71
13
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
13
        }
73
74
51
        return ColumnNullConstViewScalar {
75
51
                .data = *data, .null_map = null_map, .is_const = is_const};
76
51
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
135
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
135
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
135
        const NullMap* null_map = nullptr;
64
135
        const ArrayType* data = nullptr;
65
135
        if (const auto* nullable_column =
66
135
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
98
            null_map = &nullable_column->get_null_map_data();
68
98
            const auto& nested_from_column = nullable_column->get_nested_column();
69
98
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
98
        } else {
71
37
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
37
        }
73
74
135
        return ColumnNullConstViewScalar {
75
135
                .data = *data, .null_map = null_map, .is_const = is_const};
76
135
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
5
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
5
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
5
        const NullMap* null_map = nullptr;
64
5
        const ArrayType* data = nullptr;
65
5
        if (const auto* nullable_column =
66
5
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
5
            null_map = &nullable_column->get_null_map_data();
68
5
            const auto& nested_from_column = nullable_column->get_nested_column();
69
5
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
5
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
5
        return ColumnNullConstViewScalar {
75
5
                .data = *data, .null_map = null_map, .is_const = is_const};
76
5
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
32
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
32
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
32
        const NullMap* null_map = nullptr;
64
32
        const ArrayType* data = nullptr;
65
32
        if (const auto* nullable_column =
66
32
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
21
            null_map = &nullable_column->get_null_map_data();
68
21
            const auto& nested_from_column = nullable_column->get_nested_column();
69
21
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
21
        } else {
71
11
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
11
        }
73
74
32
        return ColumnNullConstViewScalar {
75
32
                .data = *data, .null_map = null_map, .is_const = is_const};
76
32
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
16
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
16
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
16
        const NullMap* null_map = nullptr;
64
16
        const ArrayType* data = nullptr;
65
16
        if (const auto* nullable_column =
66
16
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
10
            null_map = &nullable_column->get_null_map_data();
68
10
            const auto& nested_from_column = nullable_column->get_nested_column();
69
10
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
10
        } else {
71
6
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
6
        }
73
74
16
        return ColumnNullConstViewScalar {
75
16
                .data = *data, .null_map = null_map, .is_const = is_const};
76
16
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
16
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
16
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
16
        const NullMap* null_map = nullptr;
64
16
        const ArrayType* data = nullptr;
65
16
        if (const auto* nullable_column =
66
16
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
16
            null_map = &nullable_column->get_null_map_data();
68
16
            const auto& nested_from_column = nullable_column->get_nested_column();
69
16
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
16
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
16
        return ColumnNullConstViewScalar {
75
16
                .data = *data, .null_map = null_map, .is_const = is_const};
76
16
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
868
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
868
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
413
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
413
                                          .null_map = &nullable_column->get_null_map_data()};
88
455
        } else {
89
455
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
455
        }
91
868
    }
92
93
10.6k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
10.6k
        auto index = index_check_const(i, from.is_const);
95
10.6k
        column.insert_from(from.column, index);
96
10.6k
        if (null_map != nullptr && from.null_map != nullptr) {
97
8.70k
            null_map->push_back((*from.null_map)[index]);
98
8.70k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
1.08k
            null_map->push_back(0);
101
1.08k
        }
102
10.6k
    }
103
104
26
    void insert_null() {
105
26
        if (null_map == nullptr) {
106
0
            throw doris::Exception(ErrorCode::INTERNAL_ERROR,
107
0
                                   "Cannot insert null value into non-nullable column in "
108
0
                                   "ShortCircuitCoalesceExpr.");
109
0
        }
110
26
        column.insert_default();
111
26
        null_map->push_back(1);
112
26
    }
113
};
114
115
template <PrimitiveType PType>
116
struct MutableColumnNullViewScalar {
117
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
118
    using ArrayType = typename ColumnType::Container;
119
120
    ArrayType& data;
121
    NullMap* null_map;
122
123
3.47k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
3.47k
        ColumnType* data_column = nullptr;
125
3.47k
        NullMap* null_map = nullptr;
126
3.47k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.09k
            null_map = &nullable_column->get_null_map_data();
128
1.09k
            auto& nested_column = nullable_column->get_nested_column();
129
1.09k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2.38k
        } else {
131
2.38k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2.38k
        }
133
134
3.47k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
3.47k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
2
            null_map = &nullable_column->get_null_map_data();
128
2
            auto& nested_column = nullable_column->get_nested_column();
129
2
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
8
        } else {
131
8
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
8
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2.04k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2.04k
        ColumnType* data_column = nullptr;
125
2.04k
        NullMap* null_map = nullptr;
126
2.04k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
29
            null_map = &nullable_column->get_null_map_data();
128
29
            auto& nested_column = nullable_column->get_nested_column();
129
29
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2.01k
        } else {
131
2.01k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2.01k
        }
133
134
2.04k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2.04k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_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_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.00k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.00k
        ColumnType* data_column = nullptr;
125
1.00k
        NullMap* null_map = nullptr;
126
1.00k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
830
            null_map = &nullable_column->get_null_map_data();
128
830
            auto& nested_column = nullable_column->get_nested_column();
129
830
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
830
        } else {
131
170
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
170
        }
133
134
1.00k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.00k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
171
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
171
        ColumnType* data_column = nullptr;
125
171
        NullMap* null_map = nullptr;
126
171
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
39
            null_map = &nullable_column->get_null_map_data();
128
39
            auto& nested_column = nullable_column->get_nested_column();
129
39
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
132
        } else {
131
132
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
132
        }
133
134
171
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
171
    }
_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
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_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
96
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
96
        ColumnType* data_column = nullptr;
125
96
        NullMap* null_map = nullptr;
126
96
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
75
            null_map = &nullable_column->get_null_map_data();
128
75
            auto& nested_column = nullable_column->get_nested_column();
129
75
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
75
        } else {
131
21
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
21
        }
133
134
96
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
96
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
16
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
16
        ColumnType* data_column = nullptr;
125
16
        NullMap* null_map = nullptr;
126
16
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
16
            null_map = &nullable_column->get_null_map_data();
128
16
            auto& nested_column = nullable_column->get_nested_column();
129
16
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
16
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
16
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
16
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
29
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
29
        ColumnType* data_column = nullptr;
125
29
        NullMap* null_map = nullptr;
126
29
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
16
            null_map = &nullable_column->get_null_map_data();
128
16
            auto& nested_column = nullable_column->get_nested_column();
129
16
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
16
        } else {
131
13
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
13
        }
133
134
29
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
29
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
70
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
70
        ColumnType* data_column = nullptr;
125
70
        NullMap* null_map = nullptr;
126
70
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
61
            null_map = &nullable_column->get_null_map_data();
128
61
            auto& nested_column = nullable_column->get_nested_column();
129
61
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
61
        } else {
131
9
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
9
        }
133
134
70
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
70
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2
        ColumnType* data_column = nullptr;
125
2
        NullMap* null_map = nullptr;
126
2
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
2
            null_map = &nullable_column->get_null_map_data();
128
2
            auto& nested_column = nullable_column->get_nested_column();
129
2
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
16
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
16
        ColumnType* data_column = nullptr;
125
16
        NullMap* null_map = nullptr;
126
16
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
12
            null_map = &nullable_column->get_null_map_data();
128
12
            auto& nested_column = nullable_column->get_nested_column();
129
12
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
12
        } else {
131
4
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
4
        }
133
134
16
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
16
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
9
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
9
        ColumnType* data_column = nullptr;
125
9
        NullMap* null_map = nullptr;
126
9
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
3
            null_map = &nullable_column->get_null_map_data();
128
3
            auto& nested_column = nullable_column->get_nested_column();
129
3
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
6
        } else {
131
6
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
6
        }
133
134
9
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
9
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
6.89k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
6.89k
        auto& result_data = data;
139
6.89k
        const auto& from_data = from.data;
140
141
6.89k
        auto* result_null_map_data = null_map;
142
6.89k
        const auto* from_null_map_data = from.null_map;
143
144
6.89k
        if (from.is_const) {
145
2.80k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2.80k
                                     from_null_map_data, selector);
147
4.09k
        } else {
148
4.09k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
4.09k
                                      from_null_map_data, selector);
150
4.09k
        }
151
6.89k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
18
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
18
        auto& result_data = data;
139
18
        const auto& from_data = from.data;
140
141
18
        auto* result_null_map_data = null_map;
142
18
        const auto* from_null_map_data = from.null_map;
143
144
18
        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
14
        } else {
148
14
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
14
                                      from_null_map_data, selector);
150
14
        }
151
18
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
4.08k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
4.08k
        auto& result_data = data;
139
4.08k
        const auto& from_data = from.data;
140
141
4.08k
        auto* result_null_map_data = null_map;
142
4.08k
        const auto* from_null_map_data = from.null_map;
143
144
4.08k
        if (from.is_const) {
145
2.19k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2.19k
                                     from_null_map_data, selector);
147
2.19k
        } else {
148
1.88k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.88k
                                      from_null_map_data, selector);
150
1.88k
        }
151
4.08k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_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_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.97k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.97k
        auto& result_data = data;
139
1.97k
        const auto& from_data = from.data;
140
141
1.97k
        auto* result_null_map_data = null_map;
142
1.97k
        const auto* from_null_map_data = from.null_map;
143
144
1.97k
        if (from.is_const) {
145
416
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
416
                                     from_null_map_data, selector);
147
1.55k
        } else {
148
1.55k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.55k
                                      from_null_map_data, selector);
150
1.55k
        }
151
1.97k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
339
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
339
        auto& result_data = data;
139
339
        const auto& from_data = from.data;
140
141
339
        auto* result_null_map_data = null_map;
142
339
        const auto* from_null_map_data = from.null_map;
143
144
339
        if (from.is_const) {
145
56
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
56
                                     from_null_map_data, selector);
147
283
        } else {
148
283
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
283
                                      from_null_map_data, selector);
150
283
        }
151
339
    }
_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
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_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
196
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
196
        auto& result_data = data;
139
196
        const auto& from_data = from.data;
140
141
196
        auto* result_null_map_data = null_map;
142
196
        const auto* from_null_map_data = from.null_map;
143
144
196
        if (from.is_const) {
145
53
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
53
                                     from_null_map_data, selector);
147
143
        } else {
148
143
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
143
                                      from_null_map_data, selector);
150
143
        }
151
196
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
32
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
32
        auto& result_data = data;
139
32
        const auto& from_data = from.data;
140
141
32
        auto* result_null_map_data = null_map;
142
32
        const auto* from_null_map_data = from.null_map;
143
144
32
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
31
        } else {
148
31
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
31
                                      from_null_map_data, selector);
150
31
        }
151
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
51
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
51
        auto& result_data = data;
139
51
        const auto& from_data = from.data;
140
141
51
        auto* result_null_map_data = null_map;
142
51
        const auto* from_null_map_data = from.null_map;
143
144
51
        if (from.is_const) {
145
11
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
11
                                     from_null_map_data, selector);
147
40
        } else {
148
40
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
40
                                      from_null_map_data, selector);
150
40
        }
151
51
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
135
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
135
        auto& result_data = data;
139
135
        const auto& from_data = from.data;
140
141
135
        auto* result_null_map_data = null_map;
142
135
        const auto* from_null_map_data = from.null_map;
143
144
135
        if (from.is_const) {
145
38
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
38
                                     from_null_map_data, selector);
147
97
        } else {
148
97
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
97
                                      from_null_map_data, selector);
150
97
        }
151
135
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_35EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
5
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
5
        auto& result_data = data;
139
5
        const auto& from_data = from.data;
140
141
5
        auto* result_null_map_data = null_map;
142
5
        const auto* from_null_map_data = from.null_map;
143
144
5
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
5
        } else {
148
5
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
5
                                      from_null_map_data, selector);
150
5
        }
151
5
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_11EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_25EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
32
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
32
        auto& result_data = data;
139
32
        const auto& from_data = from.data;
140
141
32
        auto* result_null_map_data = null_map;
142
32
        const auto* from_null_map_data = from.null_map;
143
144
32
        if (from.is_const) {
145
6
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6
                                     from_null_map_data, selector);
147
26
        } else {
148
26
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
26
                                      from_null_map_data, selector);
150
26
        }
151
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
16
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
16
        auto& result_data = data;
139
16
        const auto& from_data = from.data;
140
141
16
        auto* result_null_map_data = null_map;
142
16
        const auto* from_null_map_data = from.null_map;
143
144
16
        if (from.is_const) {
145
6
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6
                                     from_null_map_data, selector);
147
10
        } else {
148
10
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
10
                                      from_null_map_data, selector);
150
10
        }
151
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
16
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
16
        auto& result_data = data;
139
16
        const auto& from_data = from.data;
140
141
16
        auto* result_null_map_data = null_map;
142
16
        const auto* from_null_map_data = from.null_map;
143
144
16
        if (from.is_const) {
145
10
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
10
                                     from_null_map_data, selector);
147
10
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
6.89k
                                   const Selector& selector) {
157
6.89k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6.89k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.99k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.99k
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6.89k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_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_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
14
                                   const Selector& selector) {
157
14
        insert_with_selector<is_const>(result_data, from_data, selector);
158
14
        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
14
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2.19k
                                   const Selector& selector) {
157
2.19k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2.19k
        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.19k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.88k
                                   const Selector& selector) {
157
1.88k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.88k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
36
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
36
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1.88k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_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_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
416
                                   const Selector& selector) {
157
416
        insert_with_selector<is_const>(result_data, from_data, selector);
158
416
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
362
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
362
        }
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
416
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.55k
                                   const Selector& selector) {
157
1.55k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.55k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.21k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.21k
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1.55k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
56
                                   const Selector& selector) {
157
56
        insert_with_selector<is_const>(result_data, from_data, selector);
158
56
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
13
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
13
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
56
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
283
                                   const Selector& selector) {
157
283
        insert_with_selector<is_const>(result_data, from_data, selector);
158
283
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
55
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
55
        }
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
283
    }
_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
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_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
53
                                   const Selector& selector) {
157
53
        insert_with_selector<is_const>(result_data, from_data, selector);
158
53
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
9
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
9
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
53
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
143
                                   const Selector& selector) {
157
143
        insert_with_selector<is_const>(result_data, from_data, selector);
158
143
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
100
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
100
        }
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
143
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
1
                                   const Selector& selector) {
157
1
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
31
                                   const Selector& selector) {
157
31
        insert_with_selector<is_const>(result_data, from_data, selector);
158
31
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
29
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
29
        }
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
31
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
11
                                   const Selector& selector) {
157
11
        insert_with_selector<is_const>(result_data, from_data, selector);
158
11
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
8
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
8
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
40
                                   const Selector& selector) {
157
40
        insert_with_selector<is_const>(result_data, from_data, selector);
158
40
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
21
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
21
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
40
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_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
38
                                   const Selector& selector) {
157
38
        insert_with_selector<is_const>(result_data, from_data, selector);
158
38
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
20
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
20
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
97
                                   const Selector& selector) {
157
97
        insert_with_selector<is_const>(result_data, from_data, selector);
158
97
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
76
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
76
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
97
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
Line
Count
Source
156
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
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
5
    }
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
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
26
                                   const Selector& selector) {
157
26
        insert_with_selector<is_const>(result_data, from_data, selector);
158
26
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
20
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
20
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
26
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_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
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
10
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
10
                                   const Selector& selector) {
157
10
        insert_with_selector<is_const>(result_data, from_data, selector);
158
10
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
10
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
10
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
8.89k
                                     const Selector& selector) {
169
10.0M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.0M
            auto index = selector[i];
171
10.0M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.0M
        }
173
8.89k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
14
        for (size_t i = 0; i < selector.size(); ++i) {
170
8
            auto index = selector[i];
171
8
            result_data[index] = data[index_check_const<is_const>(i)];
172
8
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
16
                                     const Selector& selector) {
169
22
        for (size_t i = 0; i < selector.size(); ++i) {
170
6
            auto index = selector[i];
171
6
            result_data[index] = data[index_check_const<is_const>(i)];
172
6
        }
173
16
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2.19k
                                     const Selector& selector) {
169
10.0M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.0M
            auto index = selector[i];
171
10.0M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.0M
        }
173
2.19k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.88k
                                     const Selector& selector) {
169
1.95k
        for (size_t i = 0; i < selector.size(); ++i) {
170
76
            auto index = selector[i];
171
76
            result_data[index] = data[index_check_const<is_const>(i)];
172
76
        }
173
1.88k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
36
                                     const Selector& selector) {
169
89
        for (size_t i = 0; i < selector.size(); ++i) {
170
53
            auto index = selector[i];
171
53
            result_data[index] = data[index_check_const<is_const>(i)];
172
53
        }
173
36
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_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_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
416
                                     const Selector& selector) {
169
1.80k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.38k
            auto index = selector[i];
171
1.38k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.38k
        }
173
416
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
362
                                     const Selector& selector) {
169
1.64k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.28k
            auto index = selector[i];
171
1.28k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.28k
        }
173
362
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.55k
                                     const Selector& selector) {
169
4.25k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.69k
            auto index = selector[i];
171
2.69k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.69k
        }
173
1.55k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.21k
                                     const Selector& selector) {
169
2.94k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.72k
            auto index = selector[i];
171
1.72k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.72k
        }
173
1.21k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
56
                                     const Selector& selector) {
169
164
        for (size_t i = 0; i < selector.size(); ++i) {
170
108
            auto index = selector[i];
171
108
            result_data[index] = data[index_check_const<is_const>(i)];
172
108
        }
173
56
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
13
                                     const Selector& selector) {
169
29
        for (size_t i = 0; i < selector.size(); ++i) {
170
16
            auto index = selector[i];
171
16
            result_data[index] = data[index_check_const<is_const>(i)];
172
16
        }
173
13
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
283
                                     const Selector& selector) {
169
939
        for (size_t i = 0; i < selector.size(); ++i) {
170
656
            auto index = selector[i];
171
656
            result_data[index] = data[index_check_const<is_const>(i)];
172
656
        }
173
283
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
55
                                     const Selector& selector) {
169
106
        for (size_t i = 0; i < selector.size(); ++i) {
170
51
            auto index = selector[i];
171
51
            result_data[index] = data[index_check_const<is_const>(i)];
172
51
        }
173
55
    }
_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
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_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
53
                                     const Selector& selector) {
169
350
        for (size_t i = 0; i < selector.size(); ++i) {
170
297
            auto index = selector[i];
171
297
            result_data[index] = data[index_check_const<is_const>(i)];
172
297
        }
173
53
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
9
                                     const Selector& selector) {
169
18
        for (size_t i = 0; i < selector.size(); ++i) {
170
9
            auto index = selector[i];
171
9
            result_data[index] = data[index_check_const<is_const>(i)];
172
9
        }
173
9
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
143
                                     const Selector& selector) {
169
283
        for (size_t i = 0; i < selector.size(); ++i) {
170
140
            auto index = selector[i];
171
140
            result_data[index] = data[index_check_const<is_const>(i)];
172
140
        }
173
143
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
100
                                     const Selector& selector) {
169
206
        for (size_t i = 0; i < selector.size(); ++i) {
170
106
            auto index = selector[i];
171
106
            result_data[index] = data[index_check_const<is_const>(i)];
172
106
        }
173
100
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
31
                                     const Selector& selector) {
169
67
        for (size_t i = 0; i < selector.size(); ++i) {
170
36
            auto index = selector[i];
171
36
            result_data[index] = data[index_check_const<is_const>(i)];
172
36
        }
173
31
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
29
                                     const Selector& selector) {
169
65
        for (size_t i = 0; i < selector.size(); ++i) {
170
36
            auto index = selector[i];
171
36
            result_data[index] = data[index_check_const<is_const>(i)];
172
36
        }
173
29
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
26
        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
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
12
            auto index = selector[i];
171
12
            result_data[index] = data[index_check_const<is_const>(i)];
172
12
        }
173
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
40
                                     const Selector& selector) {
169
97
        for (size_t i = 0; i < selector.size(); ++i) {
170
57
            auto index = selector[i];
171
57
            result_data[index] = data[index_check_const<is_const>(i)];
172
57
        }
173
40
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
21
                                     const Selector& selector) {
169
40
        for (size_t i = 0; i < selector.size(); ++i) {
170
19
            auto index = selector[i];
171
19
            result_data[index] = data[index_check_const<is_const>(i)];
172
19
        }
173
21
    }
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
38
                                     const Selector& selector) {
169
378
        for (size_t i = 0; i < selector.size(); ++i) {
170
340
            auto index = selector[i];
171
340
            result_data[index] = data[index_check_const<is_const>(i)];
172
340
        }
173
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
20
                                     const Selector& selector) {
169
48
        for (size_t i = 0; i < selector.size(); ++i) {
170
28
            auto index = selector[i];
171
28
            result_data[index] = data[index_check_const<is_const>(i)];
172
28
        }
173
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
97
                                     const Selector& selector) {
169
226
        for (size_t i = 0; i < selector.size(); ++i) {
170
129
            auto index = selector[i];
171
129
            result_data[index] = data[index_check_const<is_const>(i)];
172
129
        }
173
97
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
76
                                     const Selector& selector) {
169
191
        for (size_t i = 0; i < selector.size(); ++i) {
170
115
            auto index = selector[i];
171
115
            result_data[index] = data[index_check_const<is_const>(i)];
172
115
        }
173
76
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
5
                                     const Selector& selector) {
169
11
        for (size_t i = 0; i < selector.size(); ++i) {
170
6
            auto index = selector[i];
171
6
            result_data[index] = data[index_check_const<is_const>(i)];
172
6
        }
173
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5
                                     const Selector& selector) {
169
11
        for (size_t i = 0; i < selector.size(); ++i) {
170
6
            auto index = selector[i];
171
6
            result_data[index] = data[index_check_const<is_const>(i)];
172
6
        }
173
5
    }
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
6
                                     const Selector& selector) {
169
16
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
3
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
26
                                     const Selector& selector) {
169
57
        for (size_t i = 0; i < selector.size(); ++i) {
170
31
            auto index = selector[i];
171
31
            result_data[index] = data[index_check_const<is_const>(i)];
172
31
        }
173
26
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
20
                                     const Selector& selector) {
169
41
        for (size_t i = 0; i < selector.size(); ++i) {
170
21
            auto index = selector[i];
171
21
            result_data[index] = data[index_check_const<is_const>(i)];
172
21
        }
173
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
16
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
21
        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
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
17
        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
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
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
13
    void insert_null(const Selector& selector) {
176
13
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
13
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
12
        auto& null_map_data = *null_map;
183
29
        for (size_t i = 0; i < selector.size(); ++i) {
184
17
            null_map_data[selector[i]] = 1;
185
17
        }
186
12
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
12
    void insert_null(const Selector& selector) {
176
12
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
12
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
11
        auto& null_map_data = *null_map;
183
27
        for (size_t i = 0; i < selector.size(); ++i) {
184
16
            null_map_data[selector[i]] = 1;
185
16
        }
186
11
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
275
    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
3.31k
                          const Selector& false_selector, size_t count) {
230
3.31k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
3.31k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
3.31k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
3.31k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
3.31k
        auto result_column = result_type->create_column();
236
237
3.31k
        MutableColumnNullViewScalar<PType> result_column_view =
238
3.31k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
3.31k
        init_result_column(result_column_view, count);
240
241
3.31k
        ColumnNullConstViewScalar<PType> true_column_view =
242
3.31k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
3.31k
        ColumnNullConstViewScalar<PType> false_column_view =
244
3.31k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
3.31k
        result_column_view.insert_from(true_column_view, true_selector);
247
3.31k
        result_column_view.insert_from(false_column_view, false_selector);
248
3.31k
        DCHECK_EQ(result_column->size(), count);
249
3.31k
        return result_column;
250
3.31k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_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
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2.01k
                          const Selector& false_selector, size_t count) {
230
2.01k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2.01k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2.01k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2.01k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2.01k
        auto result_column = result_type->create_column();
236
237
2.01k
        MutableColumnNullViewScalar<PType> result_column_view =
238
2.01k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2.01k
        init_result_column(result_column_view, count);
240
241
2.01k
        ColumnNullConstViewScalar<PType> true_column_view =
242
2.01k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2.01k
        ColumnNullConstViewScalar<PType> false_column_view =
244
2.01k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2.01k
        result_column_view.insert_from(true_column_view, true_selector);
247
2.01k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2.01k
        return result_column;
250
2.01k
    }
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
931
                          const Selector& false_selector, size_t count) {
230
931
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
931
        DCHECK_EQ(true_column->size(), true_selector.size());
232
931
        DCHECK_EQ(false_column->size(), false_selector.size());
233
931
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
931
        auto result_column = result_type->create_column();
236
237
931
        MutableColumnNullViewScalar<PType> result_column_view =
238
931
                MutableColumnNullViewScalar<PType>::create(result_column);
239
931
        init_result_column(result_column_view, count);
240
241
931
        ColumnNullConstViewScalar<PType> true_column_view =
242
931
                ColumnNullConstViewScalar<PType>::create(true_column);
243
931
        ColumnNullConstViewScalar<PType> false_column_view =
244
931
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
931
        result_column_view.insert_from(true_column_view, true_selector);
247
931
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
931
        return result_column;
250
931
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
164
                          const Selector& false_selector, size_t count) {
230
164
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
164
        DCHECK_EQ(true_column->size(), true_selector.size());
232
164
        DCHECK_EQ(false_column->size(), false_selector.size());
233
164
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
164
        auto result_column = result_type->create_column();
236
237
164
        MutableColumnNullViewScalar<PType> result_column_view =
238
164
                MutableColumnNullViewScalar<PType>::create(result_column);
239
164
        init_result_column(result_column_view, count);
240
241
164
        ColumnNullConstViewScalar<PType> true_column_view =
242
164
                ColumnNullConstViewScalar<PType>::create(true_column);
243
164
        ColumnNullConstViewScalar<PType> false_column_view =
244
164
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
164
        result_column_view.insert_from(true_column_view, true_selector);
247
164
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
164
        return result_column;
250
164
    }
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
76
                          const Selector& false_selector, size_t count) {
230
76
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
76
        DCHECK_EQ(true_column->size(), true_selector.size());
232
76
        DCHECK_EQ(false_column->size(), false_selector.size());
233
76
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
76
        auto result_column = result_type->create_column();
236
237
76
        MutableColumnNullViewScalar<PType> result_column_view =
238
76
                MutableColumnNullViewScalar<PType>::create(result_column);
239
76
        init_result_column(result_column_view, count);
240
241
76
        ColumnNullConstViewScalar<PType> true_column_view =
242
76
                ColumnNullConstViewScalar<PType>::create(true_column);
243
76
        ColumnNullConstViewScalar<PType> false_column_view =
244
76
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
76
        result_column_view.insert_from(true_column_view, true_selector);
247
76
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
76
        return result_column;
250
76
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
16
                          const Selector& false_selector, size_t count) {
230
16
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
16
        DCHECK_EQ(true_column->size(), true_selector.size());
232
16
        DCHECK_EQ(false_column->size(), false_selector.size());
233
16
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
16
        auto result_column = result_type->create_column();
236
237
16
        MutableColumnNullViewScalar<PType> result_column_view =
238
16
                MutableColumnNullViewScalar<PType>::create(result_column);
239
16
        init_result_column(result_column_view, count);
240
241
16
        ColumnNullConstViewScalar<PType> true_column_view =
242
16
                ColumnNullConstViewScalar<PType>::create(true_column);
243
16
        ColumnNullConstViewScalar<PType> false_column_view =
244
16
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
16
        result_column_view.insert_from(true_column_view, true_selector);
247
16
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
16
        return result_column;
250
16
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
22
                          const Selector& false_selector, size_t count) {
230
22
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
22
        DCHECK_EQ(true_column->size(), true_selector.size());
232
22
        DCHECK_EQ(false_column->size(), false_selector.size());
233
22
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
22
        auto result_column = result_type->create_column();
236
237
22
        MutableColumnNullViewScalar<PType> result_column_view =
238
22
                MutableColumnNullViewScalar<PType>::create(result_column);
239
22
        init_result_column(result_column_view, count);
240
241
22
        ColumnNullConstViewScalar<PType> true_column_view =
242
22
                ColumnNullConstViewScalar<PType>::create(true_column);
243
22
        ColumnNullConstViewScalar<PType> false_column_view =
244
22
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
22
        result_column_view.insert_from(true_column_view, true_selector);
247
22
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
22
        return result_column;
250
22
    }
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
64
                          const Selector& false_selector, size_t count) {
230
64
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
64
        DCHECK_EQ(true_column->size(), true_selector.size());
232
64
        DCHECK_EQ(false_column->size(), false_selector.size());
233
64
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
64
        auto result_column = result_type->create_column();
236
237
64
        MutableColumnNullViewScalar<PType> result_column_view =
238
64
                MutableColumnNullViewScalar<PType>::create(result_column);
239
64
        init_result_column(result_column_view, count);
240
241
64
        ColumnNullConstViewScalar<PType> true_column_view =
242
64
                ColumnNullConstViewScalar<PType>::create(true_column);
243
64
        ColumnNullConstViewScalar<PType> false_column_view =
244
64
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
64
        result_column_view.insert_from(true_column_view, true_selector);
247
64
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
64
        return result_column;
250
64
    }
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
10
                          const Selector& false_selector, size_t count) {
230
10
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
10
        DCHECK_EQ(true_column->size(), true_selector.size());
232
10
        DCHECK_EQ(false_column->size(), false_selector.size());
233
10
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
10
        auto result_column = result_type->create_column();
236
237
10
        MutableColumnNullViewScalar<PType> result_column_view =
238
10
                MutableColumnNullViewScalar<PType>::create(result_column);
239
10
        init_result_column(result_column_view, count);
240
241
10
        ColumnNullConstViewScalar<PType> true_column_view =
242
10
                ColumnNullConstViewScalar<PType>::create(true_column);
243
10
        ColumnNullConstViewScalar<PType> false_column_view =
244
10
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
10
        result_column_view.insert_from(true_column_view, true_selector);
247
10
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
10
        return result_column;
250
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
4
                          const Selector& false_selector, size_t count) {
230
4
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
4
        DCHECK_EQ(true_column->size(), true_selector.size());
232
4
        DCHECK_EQ(false_column->size(), false_selector.size());
233
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
4
        auto result_column = result_type->create_column();
236
237
4
        MutableColumnNullViewScalar<PType> result_column_view =
238
4
                MutableColumnNullViewScalar<PType>::create(result_column);
239
4
        init_result_column(result_column_view, count);
240
241
4
        ColumnNullConstViewScalar<PType> true_column_view =
242
4
                ColumnNullConstViewScalar<PType>::create(true_column);
243
4
        ColumnNullConstViewScalar<PType> false_column_view =
244
4
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
4
        result_column_view.insert_from(true_column_view, true_selector);
247
4
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
4
        return result_column;
250
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
6
                          const Selector& false_selector, size_t count) {
230
6
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6
        auto result_column = result_type->create_column();
236
237
6
        MutableColumnNullViewScalar<PType> result_column_view =
238
6
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6
        init_result_column(result_column_view, count);
240
241
6
        ColumnNullConstViewScalar<PType> true_column_view =
242
6
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6
        ColumnNullConstViewScalar<PType> false_column_view =
244
6
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6
        result_column_view.insert_from(true_column_view, true_selector);
247
6
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
6
        return result_column;
250
6
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
156
                          size_t count) {
255
156
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
156
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
156
                                             return sum + cs.selector.size();
258
156
                                         }));
259
156
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
156
        auto result_column = result_type->create_column();
261
262
156
        MutableColumnNullViewScalar<PType> result_column_view =
263
156
                MutableColumnNullViewScalar<PType>::create(result_column);
264
156
        init_result_column(result_column_view, count);
265
266
270
        for (const auto& columns_and_selector : columns_and_selectors) {
267
270
            if (columns_and_selector.output_nulls()) {
268
11
                result_column_view.insert_null(columns_and_selector.selector);
269
259
            } else {
270
259
                ColumnNullConstViewScalar<PType> from_column_view =
271
259
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
259
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
259
            }
274
270
        }
275
156
        DCHECK_EQ(result_column->size(), count);
276
156
        return result_column;
277
156
    }
_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
26
                          size_t count) {
255
26
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
26
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
26
                                             return sum + cs.selector.size();
258
26
                                         }));
259
26
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
26
        auto result_column = result_type->create_column();
261
262
26
        MutableColumnNullViewScalar<PType> result_column_view =
263
26
                MutableColumnNullViewScalar<PType>::create(result_column);
264
26
        init_result_column(result_column_view, count);
265
266
47
        for (const auto& columns_and_selector : columns_and_selectors) {
267
47
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
46
            } else {
270
46
                ColumnNullConstViewScalar<PType> from_column_view =
271
46
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
46
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
46
            }
274
47
        }
275
        DCHECK_EQ(result_column->size(), count);
276
26
        return result_column;
277
26
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_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_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
65
                          size_t count) {
255
65
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
65
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
65
                                             return sum + cs.selector.size();
258
65
                                         }));
259
65
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
65
        auto result_column = result_type->create_column();
261
262
65
        MutableColumnNullViewScalar<PType> result_column_view =
263
65
                MutableColumnNullViewScalar<PType>::create(result_column);
264
65
        init_result_column(result_column_view, count);
265
266
117
        for (const auto& columns_and_selector : columns_and_selectors) {
267
117
            if (columns_and_selector.output_nulls()) {
268
10
                result_column_view.insert_null(columns_and_selector.selector);
269
107
            } else {
270
107
                ColumnNullConstViewScalar<PType> from_column_view =
271
107
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
107
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
107
            }
274
117
        }
275
        DCHECK_EQ(result_column->size(), count);
276
65
        return result_column;
277
65
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        init_result_column(result_column_view, count);
265
266
11
        for (const auto& columns_and_selector : columns_and_selectors) {
267
11
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
11
            } else {
270
11
                ColumnNullConstViewScalar<PType> from_column_view =
271
11
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
11
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
11
            }
274
11
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
_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
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_13PrimitiveTypeE9EE4fillERKSt10shared_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
44
        for (const auto& columns_and_selector : columns_and_selectors) {
267
44
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
44
            } else {
270
44
                ColumnNullConstViewScalar<PType> from_column_view =
271
44
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
44
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
44
            }
274
44
        }
275
        DCHECK_EQ(result_column->size(), count);
276
20
        return result_column;
277
20
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
7
            } else {
270
7
                ColumnNullConstViewScalar<PType> from_column_view =
271
7
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
7
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
7
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
6
                          size_t count) {
255
6
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
6
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
6
                                             return sum + cs.selector.size();
258
6
                                         }));
259
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
6
        auto result_column = result_type->create_column();
261
262
6
        MutableColumnNullViewScalar<PType> result_column_view =
263
6
                MutableColumnNullViewScalar<PType>::create(result_column);
264
6
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
7
            } else {
270
7
                ColumnNullConstViewScalar<PType> from_column_view =
271
7
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
7
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
7
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
6
        return result_column;
277
6
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
5
        for (const auto& columns_and_selector : columns_and_selectors) {
267
5
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
5
            } else {
270
5
                ColumnNullConstViewScalar<PType> from_column_view =
271
5
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
5
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
5
            }
274
5
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
6
                          size_t count) {
255
6
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
6
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
6
                                             return sum + cs.selector.size();
258
6
                                         }));
259
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
6
        auto result_column = result_type->create_column();
261
262
6
        MutableColumnNullViewScalar<PType> result_column_view =
263
6
                MutableColumnNullViewScalar<PType>::create(result_column);
264
6
        init_result_column(result_column_view, count);
265
266
12
        for (const auto& columns_and_selector : columns_and_selectors) {
267
12
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
12
        }
275
        DCHECK_EQ(result_column->size(), count);
276
6
        return result_column;
277
6
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
5
                          size_t count) {
255
5
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
5
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
5
                                             return sum + cs.selector.size();
258
5
                                         }));
259
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
5
        auto result_column = result_type->create_column();
261
262
5
        MutableColumnNullViewScalar<PType> result_column_view =
263
5
                MutableColumnNullViewScalar<PType>::create(result_column);
264
5
        init_result_column(result_column_view, count);
265
266
8
        for (const auto& columns_and_selector : columns_and_selectors) {
267
8
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
8
            } else {
270
8
                ColumnNullConstViewScalar<PType> from_column_view =
271
8
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
8
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
8
            }
274
8
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
4
                          size_t count) {
255
4
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
4
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
4
                                             return sum + cs.selector.size();
258
4
                                         }));
259
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
4
        auto result_column = result_type->create_column();
261
262
4
        MutableColumnNullViewScalar<PType> result_column_view =
263
4
                MutableColumnNullViewScalar<PType>::create(result_column);
264
4
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
278
279
private:
280
    // if result_column is nullable,nullmap will all init to false
281
    static void init_result_column(MutableColumnNullViewScalar<PType>& result_column_view,
282
3.47k
                                   size_t count) {
283
3.47k
        result_column_view.data.resize(count);
284
3.47k
        if (result_column_view.null_map != nullptr) {
285
1.09k
            result_column_view.null_map->resize_fill(count, 0);
286
1.09k
        }
287
3.47k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
2.04k
                                   size_t count) {
283
2.04k
        result_column_view.data.resize(count);
284
2.04k
        if (result_column_view.null_map != nullptr) {
285
29
            result_column_view.null_map->resize_fill(count, 0);
286
29
        }
287
2.04k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
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_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
996
                                   size_t count) {
283
996
        result_column_view.data.resize(count);
284
996
        if (result_column_view.null_map != nullptr) {
285
828
            result_column_view.null_map->resize_fill(count, 0);
286
828
        }
287
996
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
171
                                   size_t count) {
283
171
        result_column_view.data.resize(count);
284
171
        if (result_column_view.null_map != nullptr) {
285
39
            result_column_view.null_map->resize_fill(count, 0);
286
39
        }
287
171
    }
_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
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_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
96
                                   size_t count) {
283
96
        result_column_view.data.resize(count);
284
96
        if (result_column_view.null_map != nullptr) {
285
75
            result_column_view.null_map->resize_fill(count, 0);
286
75
        }
287
96
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
16
                                   size_t count) {
283
16
        result_column_view.data.resize(count);
284
16
        if (result_column_view.null_map != nullptr) {
285
16
            result_column_view.null_map->resize_fill(count, 0);
286
16
        }
287
16
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
29
                                   size_t count) {
283
29
        result_column_view.data.resize(count);
284
29
        if (result_column_view.null_map != nullptr) {
285
16
            result_column_view.null_map->resize_fill(count, 0);
286
16
        }
287
29
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
70
                                   size_t count) {
283
70
        result_column_view.data.resize(count);
284
70
        if (result_column_view.null_map != nullptr) {
285
61
            result_column_view.null_map->resize_fill(count, 0);
286
61
        }
287
70
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_35EEEm
Line
Count
Source
282
2
                                   size_t count) {
283
2
        result_column_view.data.resize(count);
284
2
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_11EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_25EEEm
Line
Count
Source
282
16
                                   size_t count) {
283
16
        result_column_view.data.resize(count);
284
16
        if (result_column_view.null_map != nullptr) {
285
12
            result_column_view.null_map->resize_fill(count, 0);
286
12
        }
287
16
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
9
                                   size_t count) {
283
9
        result_column_view.data.resize(count);
284
9
        if (result_column_view.null_map != nullptr) {
285
3
            result_column_view.null_map->resize_fill(count, 0);
286
3
        }
287
9
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
563
                          const Selector& false_selector, size_t count) {
296
563
        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
563
        DCHECK_EQ(true_column->size(), true_selector.size());
301
563
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
563
        auto result_column = result_type->create_column();
304
305
563
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
563
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
563
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
563
        size_t true_index = 0;
310
563
        size_t false_index = 0;
311
9.83k
        for (size_t i = 0; i < count; ++i) {
312
9.26k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
4.50k
                result_column_view.insert_from(true_column_view, true_index++);
314
4.76k
            } else {
315
4.76k
                result_column_view.insert_from(false_column_view, false_index++);
316
4.76k
            }
317
9.26k
        }
318
319
563
        DCHECK_EQ(result_column->size(), count);
320
563
        return result_column;
321
563
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
300
                          size_t count) {
326
300
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
300
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
300
                                             return sum + cs.selector.size();
329
300
                                         }));
330
300
        struct FillColumnWithPos {
331
300
            std::optional<ColumnNullConstView> source_column;
332
300
            size_t pos_in_source; // position in the column
333
334
1.43k
            void insert_to_column(MutableColumnNullView& result_column) const {
335
1.43k
                if (!source_column) {
336
24
                    result_column.insert_null();
337
1.40k
                } else {
338
1.40k
                    result_column.insert_from(*source_column, pos_in_source);
339
1.40k
                }
340
1.43k
            }
341
300
        };
342
343
300
        auto mutable_result_column = result_type->create_column();
344
300
        mutable_result_column->reserve(count);
345
346
300
        MutableColumnNullView mutable_result_column_view =
347
300
                MutableColumnNullView::create(mutable_result_column);
348
349
300
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
574
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
574
            if (column_with_selector.selector.empty()) {
353
159
                continue;
354
159
            }
355
1.84k
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
1.43k
                size_t result_index = column_with_selector.selector[i];
357
1.43k
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
1.43k
                if (column_with_selector.column) {
360
1.40k
                    ColumnNullConstView column_view =
361
1.40k
                            ColumnNullConstView::create(column_with_selector.column);
362
1.40k
                    fill_positions[result_index].source_column.emplace(column_view);
363
1.40k
                    fill_positions[result_index].pos_in_source = i;
364
1.40k
                } else {
365
24
                    fill_positions[result_index].source_column = std::nullopt;
366
24
                }
367
1.43k
            }
368
415
        }
369
370
1.43k
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
1.43k
            fill_pos.insert_to_column(mutable_result_column_view);
372
1.43k
        }
373
374
300
        DCHECK_EQ(mutable_result_column->size(), count);
375
300
        return mutable_result_column;
376
300
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
4.62k
            : _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
4.61k
    void for_each_with_selector(Func& f) const {
388
4.61k
        if (_selector != nullptr) {
389
492
            const auto& selector_data = *_selector;
390
1.41k
            for (size_t i = 0; i < _count; ++i) {
391
919
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
919
            }
393
4.12k
        } else {
394
10.0M
            for (size_t i = 0; i < _count; ++i) {
395
10.0M
                f(index_check_const<is_const>(i), i, i);
396
10.0M
            }
397
4.12k
        }
398
4.61k
    }
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
29
    void for_each_with_selector(Func& f) const {
388
29
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
6
            for (size_t i = 0; i < _count; ++i) {
391
4
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
4
            }
393
27
        } else {
394
57
            for (size_t i = 0; i < _count; ++i) {
395
30
                f(index_check_const<is_const>(i), i, i);
396
30
            }
397
27
        }
398
29
    }
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
429
    void for_each_with_selector(Func& f) const {
388
429
        if (_selector != nullptr) {
389
46
            const auto& selector_data = *_selector;
390
148
            for (size_t i = 0; i < _count; ++i) {
391
102
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
102
            }
393
383
        } else {
394
8.33k
            for (size_t i = 0; i < _count; ++i) {
395
7.95k
                f(index_check_const<is_const>(i), i, i);
396
7.95k
            }
397
383
        }
398
429
    }
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
408
    void for_each_with_selector(Func& f) const {
388
408
        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
408
        } else {
394
1.12k
            for (size_t i = 0; i < _count; ++i) {
395
717
                f(index_check_const<is_const>(i), i, i);
396
717
            }
397
408
        }
398
408
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
2.56k
    void for_each_with_selector(Func& f) const {
388
2.56k
        if (_selector != nullptr) {
389
76
            const auto& selector_data = *_selector;
390
209
            for (size_t i = 0; i < _count; ++i) {
391
133
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
133
            }
393
2.49k
        } else {
394
10.0M
            for (size_t i = 0; i < _count; ++i) {
395
10.0M
                f(index_check_const<is_const>(i), i, i);
396
10.0M
            }
397
2.49k
        }
398
2.56k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
4
    void for_each_with_selector(Func& f) const {
388
4
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
4
        } else {
394
14
            for (size_t i = 0; i < _count; ++i) {
395
10
                f(index_check_const<is_const>(i), i, i);
396
10
            }
397
4
        }
398
4
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
75
    void for_each_with_selector(Func& f) const {
388
75
        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
75
        } else {
394
289
            for (size_t i = 0; i < _count; ++i) {
395
214
                f(index_check_const<is_const>(i), i, i);
396
214
            }
397
75
        }
398
75
    }
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
114
    void for_each_with_selector(Func& f) const {
388
114
        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
114
        } else {
394
1.07k
            for (size_t i = 0; i < _count; ++i) {
395
963
                f(index_check_const<is_const>(i), i, i);
396
963
            }
397
114
        }
398
114
    }
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
51
    void for_each_with_selector(Func& f) const {
388
51
        if (_selector != nullptr) {
389
18
            const auto& selector_data = *_selector;
390
58
            for (size_t i = 0; i < _count; ++i) {
391
40
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
40
            }
393
33
        } else {
394
141
            for (size_t i = 0; i < _count; ++i) {
395
108
                f(index_check_const<is_const>(i), i, i);
396
108
            }
397
33
        }
398
51
    }
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
16
    void for_each_with_selector(Func& f) const {
388
16
        if (_selector != nullptr) {
389
16
            const auto& selector_data = *_selector;
390
48
            for (size_t i = 0; i < _count; ++i) {
391
32
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
32
            }
393
16
        } 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
16
    }
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
162
    void for_each_with_selector(Func& f) const {
388
162
        if (_selector != nullptr) {
389
162
            const auto& selector_data = *_selector;
390
515
            for (size_t i = 0; i < _count; ++i) {
391
353
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
353
            }
393
162
        } 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
162
    }
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
5
    void for_each_with_selector(Func& f) const {
388
5
        if (_selector != nullptr) {
389
5
            const auto& selector_data = *_selector;
390
13
            for (size_t i = 0; i < _count; ++i) {
391
8
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
8
            }
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_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
8
    void for_each_with_selector(Func& f) const {
388
8
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
6
        } else {
394
12
            for (size_t i = 0; i < _count; ++i) {
395
6
                f(index_check_const<is_const>(i), i, i);
396
6
            }
397
6
        }
398
8
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
435
    void for_each_with_selector(Func& f) const {
388
435
        if (_selector != nullptr) {
389
40
            const auto& selector_data = *_selector;
390
110
            for (size_t i = 0; i < _count; ++i) {
391
70
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
70
            }
393
395
        } else {
394
2.07k
            for (size_t i = 0; i < _count; ++i) {
395
1.68k
                f(index_check_const<is_const>(i), i, i);
396
1.68k
            }
397
395
        }
398
435
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
9
    void for_each_with_selector(Func& f) const {
388
9
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
7
        } else {
394
14
            for (size_t i = 0; i < _count; ++i) {
395
7
                f(index_check_const<is_const>(i), i, i);
396
7
            }
397
7
        }
398
9
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
173
    void for_each_with_selector(Func& f) const {
388
173
        if (_selector != nullptr) {
389
15
            const auto& selector_data = *_selector;
390
36
            for (size_t i = 0; i < _count; ++i) {
391
21
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
21
            }
393
158
        } else {
394
498
            for (size_t i = 0; i < _count; ++i) {
395
340
                f(index_check_const<is_const>(i), i, i);
396
340
            }
397
158
        }
398
173
    }
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_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
60
    void for_each_with_selector(Func& f) const {
388
60
        if (_selector != nullptr) {
389
60
            const auto& selector_data = *_selector;
390
139
            for (size_t i = 0; i < _count; ++i) {
391
79
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
79
            }
393
60
        } 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
60
    }
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
43
    void for_each_with_selector(Func& f) const {
388
43
        if (_selector != nullptr) {
389
43
            const auto& selector_data = *_selector;
390
111
            for (size_t i = 0; i < _count; ++i) {
391
68
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
68
            }
393
43
        } 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
43
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
5
    void for_each_with_selector(Func& f) const {
388
5
        if (_selector != nullptr) {
389
5
            const auto& selector_data = *_selector;
390
10
            for (size_t i = 0; i < _count; ++i) {
391
5
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
5
            }
393
5
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
5
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
3.86k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
3.86k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
3.86k
                                      size_t count) {
415
3.86k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
3.86k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
3.86k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
3.85k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.85k
        if (this->null_map != nullptr) {
422
715
            const auto& null_map_data = *(this->null_map);
423
8.69k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
8.69k
                if (null_map_data[i]) {
425
197
                    null_func(self_index, executor_index);
426
8.50k
                } else {
427
8.50k
                    if (this->data[i]) {
428
3.60k
                        true_func(self_index, executor_index);
429
4.89k
                    } else {
430
4.89k
                        false_func(self_index, executor_index);
431
4.89k
                    }
432
8.50k
                }
433
8.69k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
8.08k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
8.08k
                if (null_map_data[i]) {
425
123
                    null_func(self_index, executor_index);
426
7.96k
                } else {
427
7.96k
                    if (this->data[i]) {
428
3.41k
                        true_func(self_index, executor_index);
429
4.55k
                    } else {
430
4.55k
                        false_func(self_index, executor_index);
431
4.55k
                    }
432
7.96k
                }
433
8.08k
            };
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
224
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
224
                if (null_map_data[i]) {
425
27
                    null_func(self_index, executor_index);
426
197
                } else {
427
197
                    if (this->data[i]) {
428
46
                        true_func(self_index, executor_index);
429
151
                    } else {
430
151
                        false_func(self_index, executor_index);
431
151
                    }
432
197
                }
433
224
            };
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
385
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
385
                if (null_map_data[i]) {
425
47
                    null_func(self_index, executor_index);
426
338
                } else {
427
338
                    if (this->data[i]) {
428
141
                        true_func(self_index, executor_index);
429
197
                    } else {
430
197
                        false_func(self_index, executor_index);
431
197
                    }
432
338
                }
433
385
            };
434
715
            if (is_const) {
435
49
                for_each_with_selector<true>(update);
436
666
            } else {
437
666
                for_each_with_selector<false>(update);
438
666
            }
439
3.14k
        } else {
440
            // non-nullable condition column
441
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
47.0k
                    false_func(self_index, executor_index);
446
47.0k
                }
447
10.0M
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
46.9k
                    false_func(self_index, executor_index);
446
46.9k
                }
447
10.0M
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
1.11k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.11k
                if (this->data[i]) {
443
1.00k
                    true_func(self_index, executor_index);
444
1.00k
                } else {
445
109
                    false_func(self_index, executor_index);
446
109
                }
447
1.11k
            };
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
8
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
8
                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
8
            };
448
3.14k
            if (is_const) {
449
522
                for_each_with_selector<true>(update);
450
2.62k
            } else {
451
2.62k
                for_each_with_selector<false>(update);
452
2.62k
            }
453
3.14k
        }
454
3.85k
    }
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
3.43k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.43k
        if (this->null_map != nullptr) {
422
458
            const auto& null_map_data = *(this->null_map);
423
458
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
458
                if (null_map_data[i]) {
425
458
                    null_func(self_index, executor_index);
426
458
                } else {
427
458
                    if (this->data[i]) {
428
458
                        true_func(self_index, executor_index);
429
458
                    } else {
430
458
                        false_func(self_index, executor_index);
431
458
                    }
432
458
                }
433
458
            };
434
458
            if (is_const) {
435
29
                for_each_with_selector<true>(update);
436
429
            } else {
437
429
                for_each_with_selector<false>(update);
438
429
            }
439
2.97k
        } else {
440
            // non-nullable condition column
441
2.97k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
2.97k
                if (this->data[i]) {
443
2.97k
                    true_func(self_index, executor_index);
444
2.97k
                } else {
445
2.97k
                    false_func(self_index, executor_index);
446
2.97k
                }
447
2.97k
            };
448
2.97k
            if (is_const) {
449
408
                for_each_with_selector<true>(update);
450
2.56k
            } else {
451
2.56k
                for_each_with_selector<false>(update);
452
2.56k
            }
453
2.97k
        }
454
3.43k
    }
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
244
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
244
        if (this->null_map != nullptr) {
422
79
            const auto& null_map_data = *(this->null_map);
423
79
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
79
                if (null_map_data[i]) {
425
79
                    null_func(self_index, executor_index);
426
79
                } else {
427
79
                    if (this->data[i]) {
428
79
                        true_func(self_index, executor_index);
429
79
                    } else {
430
79
                        false_func(self_index, executor_index);
431
79
                    }
432
79
                }
433
79
            };
434
79
            if (is_const) {
435
4
                for_each_with_selector<true>(update);
436
75
            } else {
437
75
                for_each_with_selector<false>(update);
438
75
            }
439
165
        } else {
440
            // non-nullable condition column
441
165
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
165
                if (this->data[i]) {
443
165
                    true_func(self_index, executor_index);
444
165
                } else {
445
165
                    false_func(self_index, executor_index);
446
165
                }
447
165
            };
448
165
            if (is_const) {
449
114
                for_each_with_selector<true>(update);
450
114
            } else {
451
51
                for_each_with_selector<false>(update);
452
51
            }
453
165
        }
454
244
    }
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
183
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
183
        if (this->null_map != nullptr) {
422
178
            const auto& null_map_data = *(this->null_map);
423
178
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
178
                if (null_map_data[i]) {
425
178
                    null_func(self_index, executor_index);
426
178
                } else {
427
178
                    if (this->data[i]) {
428
178
                        true_func(self_index, executor_index);
429
178
                    } else {
430
178
                        false_func(self_index, executor_index);
431
178
                    }
432
178
                }
433
178
            };
434
178
            if (is_const) {
435
16
                for_each_with_selector<true>(update);
436
162
            } else {
437
162
                for_each_with_selector<false>(update);
438
162
            }
439
178
        } else {
440
            // non-nullable condition column
441
5
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
5
                if (this->data[i]) {
443
5
                    true_func(self_index, executor_index);
444
5
                } else {
445
5
                    false_func(self_index, executor_index);
446
5
                }
447
5
            };
448
5
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
5
            } else {
451
5
                for_each_with_selector<false>(update);
452
5
            }
453
5
        }
454
183
    }
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
762
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
762
                                          size_t count) {
465
762
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
762
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
762
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
757
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
757
        if (this->null_map != nullptr) {
472
685
            const auto& null_map_data = *(this->null_map);
473
2.20k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
2.20k
                if (null_map_data[i]) {
475
277
                    null_func(self_index, executor_index);
476
1.93k
                } else {
477
1.93k
                    not_null_func(self_index, executor_index);
478
1.93k
                }
479
2.20k
            };
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.75k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.75k
                if (null_map_data[i]) {
475
114
                    null_func(self_index, executor_index);
476
1.64k
                } else {
477
1.64k
                    not_null_func(self_index, executor_index);
478
1.64k
                }
479
1.75k
            };
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
370
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
370
                if (null_map_data[i]) {
475
128
                    null_func(self_index, executor_index);
476
242
                } else {
477
242
                    not_null_func(self_index, executor_index);
478
242
                }
479
370
            };
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
79
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
79
                if (null_map_data[i]) {
475
35
                    null_func(self_index, executor_index);
476
44
                } else {
477
44
                    not_null_func(self_index, executor_index);
478
44
                }
479
79
            };
480
685
            if (is_const) {
481
17
                for_each_with_selector<true>(update);
482
668
            } else {
483
668
                for_each_with_selector<false>(update);
484
668
            }
485
685
        } else {
486
            // non-nullable condition column
487
97
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
97
                not_null_func(self_index, executor_index);
489
97
            };
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
73
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
73
                not_null_func(self_index, executor_index);
489
73
            };
490
72
            if (is_const) {
491
67
                for_each_with_selector<true>(update);
492
67
            } else {
493
5
                for_each_with_selector<false>(update);
494
5
            }
495
72
        }
496
757
    }
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
443
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
443
        if (this->null_map != nullptr) {
472
443
            const auto& null_map_data = *(this->null_map);
473
443
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
443
                if (null_map_data[i]) {
475
443
                    null_func(self_index, executor_index);
476
443
                } else {
477
443
                    not_null_func(self_index, executor_index);
478
443
                }
479
443
            };
480
443
            if (is_const) {
481
8
                for_each_with_selector<true>(update);
482
435
            } else {
483
435
                for_each_with_selector<false>(update);
484
435
            }
485
443
        } 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
443
    }
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
206
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
206
        if (this->null_map != nullptr) {
472
182
            const auto& null_map_data = *(this->null_map);
473
182
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
182
                if (null_map_data[i]) {
475
182
                    null_func(self_index, executor_index);
476
182
                } else {
477
182
                    not_null_func(self_index, executor_index);
478
182
                }
479
182
            };
480
182
            if (is_const) {
481
9
                for_each_with_selector<true>(update);
482
173
            } else {
483
173
                for_each_with_selector<false>(update);
484
173
            }
485
182
        } else {
486
            // non-nullable condition column
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
            };
490
24
            if (is_const) {
491
24
                for_each_with_selector<true>(update);
492
24
            } else {
493
0
                for_each_with_selector<false>(update);
494
0
            }
495
24
        }
496
206
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_
Line
Count
Source
470
108
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
108
        if (this->null_map != nullptr) {
472
60
            const auto& null_map_data = *(this->null_map);
473
60
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
60
                if (null_map_data[i]) {
475
60
                    null_func(self_index, executor_index);
476
60
                } else {
477
60
                    not_null_func(self_index, executor_index);
478
60
                }
479
60
            };
480
60
            if (is_const) {
481
0
                for_each_with_selector<true>(update);
482
60
            } else {
483
60
                for_each_with_selector<false>(update);
484
60
            }
485
60
        } else {
486
            // non-nullable condition column
487
48
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
48
                not_null_func(self_index, executor_index);
489
48
            };
490
48
            if (is_const) {
491
43
                for_each_with_selector<true>(update);
492
43
            } else {
493
5
                for_each_with_selector<false>(update);
494
5
            }
495
48
        }
496
108
    }
497
};
498
499
} // namespace doris