Coverage Report

Created: 2026-03-27 06:48

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
1.72k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
1.72k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
1.72k
        if (const auto* nullable_column =
40
1.72k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.09k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.09k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.09k
                                        .is_const = is_const};
44
1.09k
        } else {
45
633
            return ColumnNullConstView {
46
633
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
633
        }
48
1.72k
    }
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
31.3k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
31.3k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
31.3k
        const NullMap* null_map = nullptr;
64
31.3k
        const ArrayType* data = nullptr;
65
31.3k
        if (const auto* nullable_column =
66
31.3k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6.04k
            null_map = &nullable_column->get_null_map_data();
68
6.04k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6.04k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
25.2k
        } else {
71
25.2k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
25.2k
        }
73
74
31.3k
        return ColumnNullConstViewScalar {
75
31.3k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
31.3k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
12.4k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
12.4k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
12.4k
        const NullMap* null_map = nullptr;
64
12.4k
        const ArrayType* data = nullptr;
65
12.4k
        if (const auto* nullable_column =
66
12.4k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
4.70k
            null_map = &nullable_column->get_null_map_data();
68
4.70k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
4.70k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
7.79k
        } else {
71
7.79k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
7.79k
        }
73
74
12.4k
        return ColumnNullConstViewScalar {
75
12.4k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
12.4k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
17.0k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
17.0k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
17.0k
        const NullMap* null_map = nullptr;
64
17.0k
        const ArrayType* data = nullptr;
65
17.0k
        if (const auto* nullable_column =
66
17.0k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
53
            null_map = &nullable_column->get_null_map_data();
68
53
            const auto& nested_from_column = nullable_column->get_nested_column();
69
53
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
16.9k
        } else {
71
16.9k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
16.9k
        }
73
74
17.0k
        return ColumnNullConstViewScalar {
75
17.0k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
17.0k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
20
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
20
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
20
        const NullMap* null_map = nullptr;
64
20
        const ArrayType* data = nullptr;
65
20
        if (const auto* nullable_column =
66
20
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
19
            null_map = &nullable_column->get_null_map_data();
68
19
            const auto& nested_from_column = nullable_column->get_nested_column();
69
19
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
19
        } else {
71
1
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1
        }
73
74
20
        return ColumnNullConstViewScalar {
75
20
                .data = *data, .null_map = null_map, .is_const = is_const};
76
20
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.03k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.03k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.03k
        const NullMap* null_map = nullptr;
64
1.03k
        const ArrayType* data = nullptr;
65
1.03k
        if (const auto* nullable_column =
66
1.03k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
821
            null_map = &nullable_column->get_null_map_data();
68
821
            const auto& nested_from_column = nullable_column->get_nested_column();
69
821
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
821
        } else {
71
216
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
216
        }
73
74
1.03k
        return ColumnNullConstViewScalar {
75
1.03k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.03k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
179
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
179
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
179
        const NullMap* null_map = nullptr;
64
179
        const ArrayType* data = nullptr;
65
179
        if (const auto* nullable_column =
66
179
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
95
            null_map = &nullable_column->get_null_map_data();
68
95
            const auto& nested_from_column = nullable_column->get_nested_column();
69
95
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
95
        } else {
71
84
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
84
        }
73
74
179
        return ColumnNullConstViewScalar {
75
179
                .data = *data, .null_map = null_map, .is_const = is_const};
76
179
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
12
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
12
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
12
        const NullMap* null_map = nullptr;
64
12
        const ArrayType* data = nullptr;
65
12
        if (const auto* nullable_column =
66
12
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
12
            null_map = &nullable_column->get_null_map_data();
68
12
            const auto& nested_from_column = nullable_column->get_nested_column();
69
12
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
12
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
12
        return ColumnNullConstViewScalar {
75
12
                .data = *data, .null_map = null_map, .is_const = is_const};
76
12
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
167
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
167
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
167
        const NullMap* null_map = nullptr;
64
167
        const ArrayType* data = nullptr;
65
167
        if (const auto* nullable_column =
66
167
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
120
            null_map = &nullable_column->get_null_map_data();
68
120
            const auto& nested_from_column = nullable_column->get_nested_column();
69
120
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
120
        } else {
71
47
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
47
        }
73
74
167
        return ColumnNullConstViewScalar {
75
167
                .data = *data, .null_map = null_map, .is_const = is_const};
76
167
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
20
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
20
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
20
        const NullMap* null_map = nullptr;
64
20
        const ArrayType* data = nullptr;
65
20
        if (const auto* nullable_column =
66
20
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
18
            null_map = &nullable_column->get_null_map_data();
68
18
            const auto& nested_from_column = nullable_column->get_nested_column();
69
18
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
18
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
20
        return ColumnNullConstViewScalar {
75
20
                .data = *data, .null_map = null_map, .is_const = is_const};
76
20
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
160
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
160
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
160
        const NullMap* null_map = nullptr;
64
160
        const ArrayType* data = nullptr;
65
160
        if (const auto* nullable_column =
66
160
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
37
            null_map = &nullable_column->get_null_map_data();
68
37
            const auto& nested_from_column = nullable_column->get_nested_column();
69
37
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
123
        } else {
71
123
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
123
        }
73
74
160
        return ColumnNullConstViewScalar {
75
160
                .data = *data, .null_map = null_map, .is_const = is_const};
76
160
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
112
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
112
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
112
        const NullMap* null_map = nullptr;
64
112
        const ArrayType* data = nullptr;
65
112
        if (const auto* nullable_column =
66
112
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
69
            null_map = &nullable_column->get_null_map_data();
68
69
            const auto& nested_from_column = nullable_column->get_nested_column();
69
69
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
69
        } else {
71
43
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
43
        }
73
74
112
        return ColumnNullConstViewScalar {
75
112
                .data = *data, .null_map = null_map, .is_const = is_const};
76
112
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
40
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
40
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
40
        const NullMap* null_map = nullptr;
64
40
        const ArrayType* data = nullptr;
65
40
        if (const auto* nullable_column =
66
40
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
24
            null_map = &nullable_column->get_null_map_data();
68
24
            const auto& nested_from_column = nullable_column->get_nested_column();
69
24
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
24
        } else {
71
16
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
16
        }
73
74
40
        return ColumnNullConstViewScalar {
75
40
                .data = *data, .null_map = null_map, .is_const = is_const};
76
40
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
56
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
56
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
56
        const NullMap* null_map = nullptr;
64
56
        const ArrayType* data = nullptr;
65
56
        if (const auto* nullable_column =
66
56
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
55
            null_map = &nullable_column->get_null_map_data();
68
55
            const auto& nested_from_column = nullable_column->get_nested_column();
69
55
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
55
        } else {
71
1
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1
        }
73
74
56
        return ColumnNullConstViewScalar {
75
56
                .data = *data, .null_map = null_map, .is_const = is_const};
76
56
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
16
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
16
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
16
        const NullMap* null_map = nullptr;
64
16
        const ArrayType* data = nullptr;
65
16
        if (const auto* nullable_column =
66
16
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
16
            null_map = &nullable_column->get_null_map_data();
68
16
            const auto& nested_from_column = nullable_column->get_nested_column();
69
16
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
16
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
16
        return ColumnNullConstViewScalar {
75
16
                .data = *data, .null_map = null_map, .is_const = is_const};
76
16
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
502
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
502
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
268
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
268
                                          .null_map = &nullable_column->get_null_map_data()};
88
268
        } else {
89
234
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
234
        }
91
502
    }
92
93
1.24k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
1.24k
        auto index = index_check_const(i, from.is_const);
95
1.24k
        column.insert_from(from.column, index);
96
1.24k
        if (null_map != nullptr && from.null_map != nullptr) {
97
541
            null_map->push_back((*from.null_map)[index]);
98
707
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
82
            null_map->push_back(0);
101
82
        }
102
1.24k
    }
103
104
22
    void insert_null() {
105
22
        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
22
        column.insert_default();
111
22
        null_map->push_back(1);
112
22
    }
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
8.18k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
8.18k
        ColumnType* data_column = nullptr;
125
8.18k
        NullMap* null_map = nullptr;
126
8.18k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
687
            null_map = &nullable_column->get_null_map_data();
128
687
            auto& nested_column = nullable_column->get_nested_column();
129
687
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
7.50k
        } else {
131
7.50k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
7.50k
        }
133
134
8.18k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
8.18k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
84
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
84
        ColumnType* data_column = nullptr;
125
84
        NullMap* null_map = nullptr;
126
84
        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
82
        } else {
131
82
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
82
        }
133
134
84
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
84
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
7.13k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
7.13k
        ColumnType* data_column = nullptr;
125
7.13k
        NullMap* null_map = nullptr;
126
7.13k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
27
            null_map = &nullable_column->get_null_map_data();
128
27
            auto& nested_column = nullable_column->get_nested_column();
129
27
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
7.10k
        } else {
131
7.10k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
7.10k
        }
133
134
7.13k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
7.13k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_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_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
526
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
526
        ColumnType* data_column = nullptr;
125
526
        NullMap* null_map = nullptr;
126
526
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
402
            null_map = &nullable_column->get_null_map_data();
128
402
            auto& nested_column = nullable_column->get_nested_column();
129
402
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
402
        } else {
131
124
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
124
        }
133
134
526
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
526
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
94
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
94
        ColumnType* data_column = nullptr;
125
94
        NullMap* null_map = nullptr;
126
94
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
36
            null_map = &nullable_column->get_null_map_data();
128
36
            auto& nested_column = nullable_column->get_nested_column();
129
36
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
58
        } else {
131
58
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
58
        }
133
134
94
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
94
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
88
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
88
        ColumnType* data_column = nullptr;
125
88
        NullMap* null_map = nullptr;
126
88
        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
13
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
13
        }
133
134
88
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
88
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
14
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
14
        ColumnType* data_column = nullptr;
125
14
        NullMap* null_map = nullptr;
126
14
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
14
            null_map = &nullable_column->get_null_map_data();
128
14
            auto& nested_column = nullable_column->get_nested_column();
129
14
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
14
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
14
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
14
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_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
13
            null_map = &nullable_column->get_null_map_data();
128
13
            auto& nested_column = nullable_column->get_nested_column();
129
13
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
83
        } else {
131
83
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
83
        }
133
134
96
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
96
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
56
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
56
        ColumnType* data_column = nullptr;
125
56
        NullMap* null_map = nullptr;
126
56
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
43
            null_map = &nullable_column->get_null_map_data();
128
43
            auto& nested_column = nullable_column->get_nested_column();
129
43
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
43
        } else {
131
13
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
13
        }
133
134
56
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
56
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
23
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
23
        ColumnType* data_column = nullptr;
125
23
        NullMap* null_map = nullptr;
126
23
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
11
            null_map = &nullable_column->get_null_map_data();
128
11
            auto& nested_column = nullable_column->get_nested_column();
129
11
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
12
        } else {
131
12
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
12
        }
133
134
23
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
23
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
35
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
35
        ColumnType* data_column = nullptr;
125
35
        NullMap* null_map = nullptr;
126
35
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
28
            null_map = &nullable_column->get_null_map_data();
128
28
            auto& nested_column = nullable_column->get_nested_column();
129
28
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
28
        } else {
131
7
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
7
        }
133
134
35
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
35
    }
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
18.9k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
18.9k
        auto& result_data = data;
139
18.9k
        const auto& from_data = from.data;
140
141
18.9k
        auto* result_null_map_data = null_map;
142
18.9k
        const auto* from_null_map_data = from.null_map;
143
144
18.9k
        if (from.is_const) {
145
6.98k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6.98k
                                     from_null_map_data, selector);
147
12.0k
        } else {
148
12.0k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12.0k
                                      from_null_map_data, selector);
150
12.0k
        }
151
18.9k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
168
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
168
        auto& result_data = data;
139
168
        const auto& from_data = from.data;
140
141
168
        auto* result_null_map_data = null_map;
142
168
        const auto* from_null_map_data = from.null_map;
143
144
168
        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
166
        } else {
148
166
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
166
                                      from_null_map_data, selector);
150
166
        }
151
168
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
17.0k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
17.0k
        auto& result_data = data;
139
17.0k
        const auto& from_data = from.data;
140
141
17.0k
        auto* result_null_map_data = null_map;
142
17.0k
        const auto* from_null_map_data = from.null_map;
143
144
17.0k
        if (from.is_const) {
145
6.43k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6.43k
                                     from_null_map_data, selector);
147
10.5k
        } else {
148
10.5k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
10.5k
                                      from_null_map_data, selector);
150
10.5k
        }
151
17.0k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
20
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
20
        auto& result_data = data;
139
20
        const auto& from_data = from.data;
140
141
20
        auto* result_null_map_data = null_map;
142
20
        const auto* from_null_map_data = from.null_map;
143
144
20
        if (from.is_const) {
145
3
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
3
                                     from_null_map_data, selector);
147
17
        } else {
148
17
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
17
                                      from_null_map_data, selector);
150
17
        }
151
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.03k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.03k
        auto& result_data = data;
139
1.03k
        const auto& from_data = from.data;
140
141
1.03k
        auto* result_null_map_data = null_map;
142
1.03k
        const auto* from_null_map_data = from.null_map;
143
144
1.03k
        if (from.is_const) {
145
375
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
375
                                     from_null_map_data, selector);
147
658
        } else {
148
658
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
658
                                      from_null_map_data, selector);
150
658
        }
151
1.03k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
179
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
179
        auto& result_data = data;
139
179
        const auto& from_data = from.data;
140
141
179
        auto* result_null_map_data = null_map;
142
179
        const auto* from_null_map_data = from.null_map;
143
144
179
        if (from.is_const) {
145
40
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
40
                                     from_null_map_data, selector);
147
139
        } else {
148
139
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
139
                                      from_null_map_data, selector);
150
139
        }
151
179
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
12
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
12
        auto& result_data = data;
139
12
        const auto& from_data = from.data;
140
141
12
        auto* result_null_map_data = null_map;
142
12
        const auto* from_null_map_data = from.null_map;
143
144
12
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
11
        } else {
148
11
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
11
                                      from_null_map_data, selector);
150
11
        }
151
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
167
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
167
        auto& result_data = data;
139
167
        const auto& from_data = from.data;
140
141
167
        auto* result_null_map_data = null_map;
142
167
        const auto* from_null_map_data = from.null_map;
143
144
167
        if (from.is_const) {
145
33
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
33
                                     from_null_map_data, selector);
147
134
        } else {
148
134
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
134
                                      from_null_map_data, selector);
150
134
        }
151
167
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
20
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
20
        auto& result_data = data;
139
20
        const auto& from_data = from.data;
140
141
20
        auto* result_null_map_data = null_map;
142
20
        const auto* from_null_map_data = from.null_map;
143
144
20
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
19
        } else {
148
19
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
19
                                      from_null_map_data, selector);
150
19
        }
151
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
160
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
160
        auto& result_data = data;
139
160
        const auto& from_data = from.data;
140
141
160
        auto* result_null_map_data = null_map;
142
160
        const auto* from_null_map_data = from.null_map;
143
144
160
        if (from.is_const) {
145
30
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
30
                                     from_null_map_data, selector);
147
130
        } else {
148
130
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
130
                                      from_null_map_data, selector);
150
130
        }
151
160
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
112
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
112
        auto& result_data = data;
139
112
        const auto& from_data = from.data;
140
141
112
        auto* result_null_map_data = null_map;
142
112
        const auto* from_null_map_data = from.null_map;
143
144
112
        if (from.is_const) {
145
39
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
39
                                     from_null_map_data, selector);
147
73
        } else {
148
73
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
73
                                      from_null_map_data, selector);
150
73
        }
151
112
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_35EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_11EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_25EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
40
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
40
        auto& result_data = data;
139
40
        const auto& from_data = from.data;
140
141
40
        auto* result_null_map_data = null_map;
142
40
        const auto* from_null_map_data = from.null_map;
143
144
40
        if (from.is_const) {
145
8
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
8
                                     from_null_map_data, selector);
147
32
        } else {
148
32
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
32
                                      from_null_map_data, selector);
150
32
        }
151
40
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
56
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
56
        auto& result_data = data;
139
56
        const auto& from_data = from.data;
140
141
56
        auto* result_null_map_data = null_map;
142
56
        const auto* from_null_map_data = from.null_map;
143
144
56
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
55
        } else {
148
55
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
55
                                      from_null_map_data, selector);
150
55
        }
151
56
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
16
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
16
        auto& result_data = data;
139
16
        const auto& from_data = from.data;
140
141
16
        auto* result_null_map_data = null_map;
142
16
        const auto* from_null_map_data = from.null_map;
143
144
16
        if (from.is_const) {
145
10
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
10
                                     from_null_map_data, selector);
147
10
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
18.9k
                                   const Selector& selector) {
157
18.9k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
18.9k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.13k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.13k
        }
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
18.9k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
166
                                   const Selector& selector) {
157
166
        insert_with_selector<is_const>(result_data, from_data, selector);
158
166
        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
166
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6.43k
                                   const Selector& selector) {
157
6.43k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6.43k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6.43k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
10.5k
                                   const Selector& selector) {
157
10.5k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
10.5k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
27
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
27
        }
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.5k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
3
                                   const Selector& selector) {
157
3
        insert_with_selector<is_const>(result_data, from_data, selector);
158
3
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
17
                                   const Selector& selector) {
157
17
        insert_with_selector<is_const>(result_data, from_data, selector);
158
17
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
17
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
17
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
375
                                   const Selector& selector) {
157
375
        insert_with_selector<is_const>(result_data, from_data, selector);
158
375
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
342
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
342
        }
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
375
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
658
                                   const Selector& selector) {
157
658
        insert_with_selector<is_const>(result_data, from_data, selector);
158
658
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
382
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
382
        }
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
658
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_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
14
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
14
        }
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
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
139
                                   const Selector& selector) {
157
139
        insert_with_selector<is_const>(result_data, from_data, selector);
158
139
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
41
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
41
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
139
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
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_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
11
                                   const Selector& selector) {
157
11
        insert_with_selector<is_const>(result_data, from_data, selector);
158
11
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
11
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
11
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
33
                                   const Selector& selector) {
157
33
        insert_with_selector<is_const>(result_data, from_data, selector);
158
33
        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
33
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
134
                                   const Selector& selector) {
157
134
        insert_with_selector<is_const>(result_data, from_data, selector);
158
134
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
93
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
93
        }
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
134
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
1
                                   const Selector& selector) {
157
1
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
19
                                   const Selector& selector) {
157
19
        insert_with_selector<is_const>(result_data, from_data, selector);
158
19
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
17
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
17
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
19
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
30
                                   const Selector& selector) {
157
30
        insert_with_selector<is_const>(result_data, from_data, selector);
158
30
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
7
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
7
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
30
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
130
                                   const Selector& selector) {
157
130
        insert_with_selector<is_const>(result_data, from_data, selector);
158
130
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
18
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
18
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
130
    }
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
39
                                   const Selector& selector) {
157
39
        insert_with_selector<is_const>(result_data, from_data, selector);
158
39
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
39
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
73
                                   const Selector& selector) {
157
73
        insert_with_selector<is_const>(result_data, from_data, selector);
158
73
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
48
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
48
        }
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
73
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
8
                                   const Selector& selector) {
157
8
        insert_with_selector<is_const>(result_data, from_data, selector);
158
8
        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
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
32
                                   const Selector& selector) {
157
32
        insert_with_selector<is_const>(result_data, from_data, selector);
158
32
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_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_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
55
                                   const Selector& selector) {
157
55
        insert_with_selector<is_const>(result_data, from_data, selector);
158
55
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
47
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
47
        }
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
55
    }
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
20.1k
                                     const Selector& selector) {
169
12.8M
        for (size_t i = 0; i < selector.size(); ++i) {
170
12.7M
            auto index = selector[i];
171
12.7M
            result_data[index] = data[index_check_const<is_const>(i)];
172
12.7M
        }
173
20.1k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
10
        for (size_t i = 0; i < selector.size(); ++i) {
170
6
            auto index = selector[i];
171
6
            result_data[index] = data[index_check_const<is_const>(i)];
172
6
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
168
                                     const Selector& selector) {
169
474
        for (size_t i = 0; i < selector.size(); ++i) {
170
306
            auto index = selector[i];
171
306
            result_data[index] = data[index_check_const<is_const>(i)];
172
306
        }
173
168
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6.43k
                                     const Selector& selector) {
169
12.7M
        for (size_t i = 0; i < selector.size(); ++i) {
170
12.7M
            auto index = selector[i];
171
12.7M
            result_data[index] = data[index_check_const<is_const>(i)];
172
12.7M
        }
173
6.43k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
3
        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
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10.5k
                                     const Selector& selector) {
169
11.3k
        for (size_t i = 0; i < selector.size(); ++i) {
170
831
            auto index = selector[i];
171
831
            result_data[index] = data[index_check_const<is_const>(i)];
172
831
        }
173
10.5k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
27
                                     const Selector& selector) {
169
85
        for (size_t i = 0; i < selector.size(); ++i) {
170
58
            auto index = selector[i];
171
58
            result_data[index] = data[index_check_const<is_const>(i)];
172
58
        }
173
27
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
13
        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
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
7
        for (size_t i = 0; i < selector.size(); ++i) {
170
5
            auto index = selector[i];
171
5
            result_data[index] = data[index_check_const<is_const>(i)];
172
5
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
17
                                     const Selector& selector) {
169
62
        for (size_t i = 0; i < selector.size(); ++i) {
170
45
            auto index = selector[i];
171
45
            result_data[index] = data[index_check_const<is_const>(i)];
172
45
        }
173
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
17
                                     const Selector& selector) {
169
62
        for (size_t i = 0; i < selector.size(); ++i) {
170
45
            auto index = selector[i];
171
45
            result_data[index] = data[index_check_const<is_const>(i)];
172
45
        }
173
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
375
                                     const Selector& selector) {
169
1.76k
        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
375
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
342
                                     const Selector& selector) {
169
1.68k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.34k
            auto index = selector[i];
171
1.34k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.34k
        }
173
342
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
658
                                     const Selector& selector) {
169
1.29k
        for (size_t i = 0; i < selector.size(); ++i) {
170
637
            auto index = selector[i];
171
637
            result_data[index] = data[index_check_const<is_const>(i)];
172
637
        }
173
658
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
382
                                     const Selector& selector) {
169
586
        for (size_t i = 0; i < selector.size(); ++i) {
170
204
            auto index = selector[i];
171
204
            result_data[index] = data[index_check_const<is_const>(i)];
172
204
        }
173
382
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
40
                                     const Selector& selector) {
169
139
        for (size_t i = 0; i < selector.size(); ++i) {
170
99
            auto index = selector[i];
171
99
            result_data[index] = data[index_check_const<is_const>(i)];
172
99
        }
173
40
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
14
                                     const Selector& selector) {
169
30
        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
14
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
139
                                     const Selector& selector) {
169
371
        for (size_t i = 0; i < selector.size(); ++i) {
170
232
            auto index = selector[i];
171
232
            result_data[index] = data[index_check_const<is_const>(i)];
172
232
        }
173
139
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
41
                                     const Selector& selector) {
169
100
        for (size_t i = 0; i < selector.size(); ++i) {
170
59
            auto index = selector[i];
171
59
            result_data[index] = data[index_check_const<is_const>(i)];
172
59
        }
173
41
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        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
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        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
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
41
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
41
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
33
                                     const Selector& selector) {
169
65
        for (size_t i = 0; i < selector.size(); ++i) {
170
32
            auto index = selector[i];
171
32
            result_data[index] = data[index_check_const<is_const>(i)];
172
32
        }
173
33
    }
_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
134
                                     const Selector& selector) {
169
8.27k
        for (size_t i = 0; i < selector.size(); ++i) {
170
8.14k
            auto index = selector[i];
171
8.14k
            result_data[index] = data[index_check_const<is_const>(i)];
172
8.14k
        }
173
134
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
93
                                     const Selector& selector) {
169
8.20k
        for (size_t i = 0; i < selector.size(); ++i) {
170
8.11k
            auto index = selector[i];
171
8.11k
            result_data[index] = data[index_check_const<is_const>(i)];
172
8.11k
        }
173
93
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        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
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        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
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
19
                                     const Selector& selector) {
169
55
        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
19
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
17
                                     const Selector& selector) {
169
53
        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
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
30
                                     const Selector& selector) {
169
67
        for (size_t i = 0; i < selector.size(); ++i) {
170
37
            auto index = selector[i];
171
37
            result_data[index] = data[index_check_const<is_const>(i)];
172
37
        }
173
30
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
18
        for (size_t i = 0; i < selector.size(); ++i) {
170
11
            auto index = selector[i];
171
11
            result_data[index] = data[index_check_const<is_const>(i)];
172
11
        }
173
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
130
                                     const Selector& selector) {
169
281
        for (size_t i = 0; i < selector.size(); ++i) {
170
151
            auto index = selector[i];
171
151
            result_data[index] = data[index_check_const<is_const>(i)];
172
151
        }
173
130
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
18
                                     const Selector& selector) {
169
32
        for (size_t i = 0; i < selector.size(); ++i) {
170
14
            auto index = selector[i];
171
14
            result_data[index] = data[index_check_const<is_const>(i)];
172
14
        }
173
18
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
39
                                     const Selector& selector) {
169
18.8k
        for (size_t i = 0; i < selector.size(); ++i) {
170
18.8k
            auto index = selector[i];
171
18.8k
            result_data[index] = data[index_check_const<is_const>(i)];
172
18.8k
        }
173
39
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
20
                                     const Selector& selector) {
169
51
        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
20
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
73
                                     const Selector& selector) {
169
3.84k
        for (size_t i = 0; i < selector.size(); ++i) {
170
3.77k
            auto index = selector[i];
171
3.77k
            result_data[index] = data[index_check_const<is_const>(i)];
172
3.77k
        }
173
73
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
48
                                     const Selector& selector) {
169
139
        for (size_t i = 0; i < selector.size(); ++i) {
170
91
            auto index = selector[i];
171
91
            result_data[index] = data[index_check_const<is_const>(i)];
172
91
        }
173
48
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
22
        for (size_t i = 0; i < selector.size(); ++i) {
170
14
            auto index = selector[i];
171
14
            result_data[index] = data[index_check_const<is_const>(i)];
172
14
        }
173
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
32
                                     const Selector& selector) {
169
92
        for (size_t i = 0; i < selector.size(); ++i) {
170
60
            auto index = selector[i];
171
60
            result_data[index] = data[index_check_const<is_const>(i)];
172
60
        }
173
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        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
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        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
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
55
                                     const Selector& selector) {
169
161
        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
55
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
47
                                     const Selector& selector) {
169
143
        for (size_t i = 0; i < selector.size(); ++i) {
170
96
            auto index = selector[i];
171
96
            result_data[index] = data[index_check_const<is_const>(i)];
172
96
        }
173
47
    }
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
25
    void insert_null(const Selector& selector) {
176
25
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
25
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
24
        auto& null_map_data = *null_map;
183
51
        for (size_t i = 0; i < selector.size(); ++i) {
184
27
            null_map_data[selector[i]] = 1;
185
27
        }
186
24
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
3
    void insert_null(const Selector& selector) {
176
3
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
3
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
3
        auto& null_map_data = *null_map;
183
6
        for (size_t i = 0; i < selector.size(); ++i) {
184
3
            null_map_data[selector[i]] = 1;
185
3
        }
186
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
8
    void insert_null(const Selector& selector) {
176
8
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
8
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
7
        auto& null_map_data = *null_map;
183
17
        for (size_t i = 0; i < selector.size(); ++i) {
184
10
            null_map_data[selector[i]] = 1;
185
10
        }
186
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
6.26k
    bool output_nulls() const { return column.get() == nullptr; }
199
200
    std::string debug_string() const {
201
        std::stringstream ss;
202
        ss << "ColumnAndSelector(selector_size=" << selector.size()
203
           << ", output_nulls=" << output_nulls()
204
           << ", column size=" << (column ? std::to_string(column->size()) : "null") << ")";
205
206
        ss << "\n selector data: [";
207
        for (size_t i = 0; i < selector.size(); ++i) {
208
            if (i != 0) {
209
                ss << ", ";
210
            }
211
            ss << selector[i];
212
        }
213
        ss << "]";
214
        return ss.str();
215
    }
216
};
217
218
// Scalar version of fill.
219
// Initializes the result column at the beginning.
220
// Subsequently fills data from each column into the result column using selectors.
221
template <PrimitiveType PType>
222
struct ScalarFillWithSelector {
223
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
224
    using ArrayType = typename ColumnType::Container;
225
226
public:
227
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
228
                          const Selector& true_selector, const ColumnPtr& false_column,
229
6.37k
                          const Selector& false_selector, size_t count) {
230
6.37k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6.37k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6.37k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6.37k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6.37k
        auto result_column = result_type->create_column();
236
237
6.37k
        MutableColumnNullViewScalar<PType> result_column_view =
238
6.37k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6.37k
        init_result_column(result_column_view, count);
240
241
6.37k
        ColumnNullConstViewScalar<PType> true_column_view =
242
6.37k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6.37k
        ColumnNullConstViewScalar<PType> false_column_view =
244
6.37k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6.37k
        result_column_view.insert_from(true_column_view, true_selector);
247
6.37k
        result_column_view.insert_from(false_column_view, false_selector);
248
6.37k
        DCHECK_EQ(result_column->size(), count);
249
6.37k
        return result_column;
250
6.37k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
84
                          const Selector& false_selector, size_t count) {
230
84
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
84
        DCHECK_EQ(true_column->size(), true_selector.size());
232
84
        DCHECK_EQ(false_column->size(), false_selector.size());
233
84
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
84
        auto result_column = result_type->create_column();
236
237
84
        MutableColumnNullViewScalar<PType> result_column_view =
238
84
                MutableColumnNullViewScalar<PType>::create(result_column);
239
84
        init_result_column(result_column_view, count);
240
241
84
        ColumnNullConstViewScalar<PType> true_column_view =
242
84
                ColumnNullConstViewScalar<PType>::create(true_column);
243
84
        ColumnNullConstViewScalar<PType> false_column_view =
244
84
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
84
        result_column_view.insert_from(true_column_view, true_selector);
247
84
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
84
        return result_column;
250
84
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
5.56k
                          const Selector& false_selector, size_t count) {
230
5.56k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
5.56k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
5.56k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
5.56k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
5.56k
        auto result_column = result_type->create_column();
236
237
5.56k
        MutableColumnNullViewScalar<PType> result_column_view =
238
5.56k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
5.56k
        init_result_column(result_column_view, count);
240
241
5.56k
        ColumnNullConstViewScalar<PType> true_column_view =
242
5.56k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
5.56k
        ColumnNullConstViewScalar<PType> false_column_view =
244
5.56k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
5.56k
        result_column_view.insert_from(true_column_view, true_selector);
247
5.56k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
5.56k
        return result_column;
250
5.56k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1
                          const Selector& false_selector, size_t count) {
230
1
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1
        auto result_column = result_type->create_column();
236
237
1
        MutableColumnNullViewScalar<PType> result_column_view =
238
1
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1
        init_result_column(result_column_view, count);
240
241
1
        ColumnNullConstViewScalar<PType> true_column_view =
242
1
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1
        ColumnNullConstViewScalar<PType> false_column_view =
244
1
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1
        result_column_view.insert_from(true_column_view, true_selector);
247
1
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1
        return result_column;
250
1
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
469
                          const Selector& false_selector, size_t count) {
230
469
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
469
        DCHECK_EQ(true_column->size(), true_selector.size());
232
469
        DCHECK_EQ(false_column->size(), false_selector.size());
233
469
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
469
        auto result_column = result_type->create_column();
236
237
469
        MutableColumnNullViewScalar<PType> result_column_view =
238
469
                MutableColumnNullViewScalar<PType>::create(result_column);
239
469
        init_result_column(result_column_view, count);
240
241
469
        ColumnNullConstViewScalar<PType> true_column_view =
242
469
                ColumnNullConstViewScalar<PType>::create(true_column);
243
469
        ColumnNullConstViewScalar<PType> false_column_view =
244
469
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
469
        result_column_view.insert_from(true_column_view, true_selector);
247
469
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
469
        return result_column;
250
469
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
77
                          const Selector& false_selector, size_t count) {
230
77
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
77
        DCHECK_EQ(true_column->size(), true_selector.size());
232
77
        DCHECK_EQ(false_column->size(), false_selector.size());
233
77
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
77
        auto result_column = result_type->create_column();
236
237
77
        MutableColumnNullViewScalar<PType> result_column_view =
238
77
                MutableColumnNullViewScalar<PType>::create(result_column);
239
77
        init_result_column(result_column_view, count);
240
241
77
        ColumnNullConstViewScalar<PType> true_column_view =
242
77
                ColumnNullConstViewScalar<PType>::create(true_column);
243
77
        ColumnNullConstViewScalar<PType> false_column_view =
244
77
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
77
        result_column_view.insert_from(true_column_view, true_selector);
247
77
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
77
        return result_column;
250
77
    }
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
63
                          const Selector& false_selector, size_t count) {
230
63
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
63
        DCHECK_EQ(true_column->size(), true_selector.size());
232
63
        DCHECK_EQ(false_column->size(), false_selector.size());
233
63
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
63
        auto result_column = result_type->create_column();
236
237
63
        MutableColumnNullViewScalar<PType> result_column_view =
238
63
                MutableColumnNullViewScalar<PType>::create(result_column);
239
63
        init_result_column(result_column_view, count);
240
241
63
        ColumnNullConstViewScalar<PType> true_column_view =
242
63
                ColumnNullConstViewScalar<PType>::create(true_column);
243
63
        ColumnNullConstViewScalar<PType> false_column_view =
244
63
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
63
        result_column_view.insert_from(true_column_view, true_selector);
247
63
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
63
        return result_column;
250
63
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_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
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
24
                          const Selector& false_selector, size_t count) {
230
24
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
24
        DCHECK_EQ(true_column->size(), true_selector.size());
232
24
        DCHECK_EQ(false_column->size(), false_selector.size());
233
24
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
24
        auto result_column = result_type->create_column();
236
237
24
        MutableColumnNullViewScalar<PType> result_column_view =
238
24
                MutableColumnNullViewScalar<PType>::create(result_column);
239
24
        init_result_column(result_column_view, count);
240
241
24
        ColumnNullConstViewScalar<PType> true_column_view =
242
24
                ColumnNullConstViewScalar<PType>::create(true_column);
243
24
        ColumnNullConstViewScalar<PType> false_column_view =
244
24
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
24
        result_column_view.insert_from(true_column_view, true_selector);
247
24
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
24
        return result_column;
250
24
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
55
                          const Selector& false_selector, size_t count) {
230
55
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
55
        DCHECK_EQ(true_column->size(), true_selector.size());
232
55
        DCHECK_EQ(false_column->size(), false_selector.size());
233
55
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
55
        auto result_column = result_type->create_column();
236
237
55
        MutableColumnNullViewScalar<PType> result_column_view =
238
55
                MutableColumnNullViewScalar<PType>::create(result_column);
239
55
        init_result_column(result_column_view, count);
240
241
55
        ColumnNullConstViewScalar<PType> true_column_view =
242
55
                ColumnNullConstViewScalar<PType>::create(true_column);
243
55
        ColumnNullConstViewScalar<PType> false_column_view =
244
55
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
55
        result_column_view.insert_from(true_column_view, true_selector);
247
55
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
55
        return result_column;
250
55
    }
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
11
                          const Selector& false_selector, size_t count) {
230
11
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
11
        DCHECK_EQ(true_column->size(), true_selector.size());
232
11
        DCHECK_EQ(false_column->size(), false_selector.size());
233
11
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
11
        auto result_column = result_type->create_column();
236
237
11
        MutableColumnNullViewScalar<PType> result_column_view =
238
11
                MutableColumnNullViewScalar<PType>::create(result_column);
239
11
        init_result_column(result_column_view, count);
240
241
11
        ColumnNullConstViewScalar<PType> true_column_view =
242
11
                ColumnNullConstViewScalar<PType>::create(true_column);
243
11
        ColumnNullConstViewScalar<PType> false_column_view =
244
11
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
11
        result_column_view.insert_from(true_column_view, true_selector);
247
11
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
11
        return result_column;
250
11
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
18
                          const Selector& false_selector, size_t count) {
230
18
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
18
        DCHECK_EQ(true_column->size(), true_selector.size());
232
18
        DCHECK_EQ(false_column->size(), false_selector.size());
233
18
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
18
        auto result_column = result_type->create_column();
236
237
18
        MutableColumnNullViewScalar<PType> result_column_view =
238
18
                MutableColumnNullViewScalar<PType>::create(result_column);
239
18
        init_result_column(result_column_view, count);
240
241
18
        ColumnNullConstViewScalar<PType> true_column_view =
242
18
                ColumnNullConstViewScalar<PType>::create(true_column);
243
18
        ColumnNullConstViewScalar<PType> false_column_view =
244
18
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
18
        result_column_view.insert_from(true_column_view, true_selector);
247
18
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
18
        return result_column;
250
18
    }
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
1.81k
                          size_t count) {
255
1.81k
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1.81k
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1.81k
                                             return sum + cs.selector.size();
258
1.81k
                                         }));
259
1.81k
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1.81k
        auto result_column = result_type->create_column();
261
262
1.81k
        MutableColumnNullViewScalar<PType> result_column_view =
263
1.81k
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1.81k
        init_result_column(result_column_view, count);
265
266
6.26k
        for (const auto& columns_and_selector : columns_and_selectors) {
267
6.26k
            if (columns_and_selector.output_nulls()) {
268
23
                result_column_view.insert_null(columns_and_selector.selector);
269
6.23k
            } else {
270
6.23k
                ColumnNullConstViewScalar<PType> from_column_view =
271
6.23k
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6.23k
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6.23k
            }
274
6.26k
        }
275
1.81k
        DCHECK_EQ(result_column->size(), count);
276
1.81k
        return result_column;
277
1.81k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
1.57k
                          size_t count) {
255
1.57k
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1.57k
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1.57k
                                             return sum + cs.selector.size();
258
1.57k
                                         }));
259
1.57k
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1.57k
        auto result_column = result_type->create_column();
261
262
1.57k
        MutableColumnNullViewScalar<PType> result_column_view =
263
1.57k
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1.57k
        init_result_column(result_column_view, count);
265
266
5.88k
        for (const auto& columns_and_selector : columns_and_selectors) {
267
5.88k
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
5.88k
            } else {
270
5.88k
                ColumnNullConstViewScalar<PType> from_column_view =
271
5.88k
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
5.88k
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
5.88k
            }
274
5.88k
        }
275
        DCHECK_EQ(result_column->size(), count);
276
1.57k
        return result_column;
277
1.57k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
15
                          size_t count) {
255
15
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
15
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
15
                                             return sum + cs.selector.size();
258
15
                                         }));
259
15
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
15
        auto result_column = result_type->create_column();
261
262
15
        MutableColumnNullViewScalar<PType> result_column_view =
263
15
                MutableColumnNullViewScalar<PType>::create(result_column);
264
15
        init_result_column(result_column_view, count);
265
266
21
        for (const auto& columns_and_selector : columns_and_selectors) {
267
21
            if (columns_and_selector.output_nulls()) {
268
3
                result_column_view.insert_null(columns_and_selector.selector);
269
18
            } else {
270
18
                ColumnNullConstViewScalar<PType> from_column_view =
271
18
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
18
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
18
            }
274
21
        }
275
        DCHECK_EQ(result_column->size(), count);
276
15
        return result_column;
277
15
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
53
                          size_t count) {
255
53
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
53
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
53
                                             return sum + cs.selector.size();
258
53
                                         }));
259
53
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
53
        auto result_column = result_type->create_column();
261
262
53
        MutableColumnNullViewScalar<PType> result_column_view =
263
53
                MutableColumnNullViewScalar<PType>::create(result_column);
264
53
        init_result_column(result_column_view, count);
265
266
99
        for (const auto& columns_and_selector : columns_and_selectors) {
267
99
            if (columns_and_selector.output_nulls()) {
268
6
                result_column_view.insert_null(columns_and_selector.selector);
269
93
            } else {
270
93
                ColumnNullConstViewScalar<PType> from_column_view =
271
93
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
93
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
93
            }
274
99
        }
275
        DCHECK_EQ(result_column->size(), count);
276
53
        return result_column;
277
53
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
17
                          size_t count) {
255
17
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
17
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
17
                                             return sum + cs.selector.size();
258
17
                                         }));
259
17
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
17
        auto result_column = result_type->create_column();
261
262
17
        MutableColumnNullViewScalar<PType> result_column_view =
263
17
                MutableColumnNullViewScalar<PType>::create(result_column);
264
17
        init_result_column(result_column_view, count);
265
266
27
        for (const auto& columns_and_selector : columns_and_selectors) {
267
27
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
25
            } else {
270
25
                ColumnNullConstViewScalar<PType> from_column_view =
271
25
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
25
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
25
            }
274
27
        }
275
        DCHECK_EQ(result_column->size(), count);
276
17
        return result_column;
277
17
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
10
                          size_t count) {
255
10
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
10
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
10
                                             return sum + cs.selector.size();
258
10
                                         }));
259
10
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
10
        auto result_column = result_type->create_column();
261
262
10
        MutableColumnNullViewScalar<PType> result_column_view =
263
10
                MutableColumnNullViewScalar<PType>::create(result_column);
264
10
        init_result_column(result_column_view, count);
265
266
14
        for (const auto& columns_and_selector : columns_and_selectors) {
267
14
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
14
        }
275
        DCHECK_EQ(result_column->size(), count);
276
10
        return result_column;
277
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
25
                          size_t count) {
255
25
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
25
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
25
                                             return sum + cs.selector.size();
258
25
                                         }));
259
25
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
25
        auto result_column = result_type->create_column();
261
262
25
        MutableColumnNullViewScalar<PType> result_column_view =
263
25
                MutableColumnNullViewScalar<PType>::create(result_column);
264
25
        init_result_column(result_column_view, count);
265
266
43
        for (const auto& columns_and_selector : columns_and_selectors) {
267
43
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
41
            } else {
270
41
                ColumnNullConstViewScalar<PType> from_column_view =
271
41
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
41
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
41
            }
274
43
        }
275
        DCHECK_EQ(result_column->size(), count);
276
25
        return result_column;
277
25
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
10
                          size_t count) {
255
10
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
10
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
10
                                             return sum + cs.selector.size();
258
10
                                         }));
259
10
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
10
        auto result_column = result_type->create_column();
261
262
10
        MutableColumnNullViewScalar<PType> result_column_view =
263
10
                MutableColumnNullViewScalar<PType>::create(result_column);
264
10
        init_result_column(result_column_view, count);
265
266
14
        for (const auto& columns_and_selector : columns_and_selectors) {
267
14
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
14
        }
275
        DCHECK_EQ(result_column->size(), count);
276
10
        return result_column;
277
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
72
                          size_t count) {
255
72
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
72
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
72
                                             return sum + cs.selector.size();
258
72
                                         }));
259
72
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
72
        auto result_column = result_type->create_column();
261
262
72
        MutableColumnNullViewScalar<PType> result_column_view =
263
72
                MutableColumnNullViewScalar<PType>::create(result_column);
264
72
        init_result_column(result_column_view, count);
265
266
112
        for (const auto& columns_and_selector : columns_and_selectors) {
267
112
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
112
            } else {
270
112
                ColumnNullConstViewScalar<PType> from_column_view =
271
112
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
112
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
112
            }
274
112
        }
275
        DCHECK_EQ(result_column->size(), count);
276
72
        return result_column;
277
72
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
1
                          size_t count) {
255
1
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
1
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
1
                                             return sum + cs.selector.size();
258
1
                                         }));
259
1
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
1
        auto result_column = result_type->create_column();
261
262
1
        MutableColumnNullViewScalar<PType> result_column_view =
263
1
                MutableColumnNullViewScalar<PType>::create(result_column);
264
1
        init_result_column(result_column_view, count);
265
266
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
1
        return result_column;
277
1
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
12
                          size_t count) {
255
12
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
12
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
12
                                             return sum + cs.selector.size();
258
12
                                         }));
259
12
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
12
        auto result_column = result_type->create_column();
261
262
12
        MutableColumnNullViewScalar<PType> result_column_view =
263
12
                MutableColumnNullViewScalar<PType>::create(result_column);
264
12
        init_result_column(result_column_view, count);
265
266
20
        for (const auto& columns_and_selector : columns_and_selectors) {
267
20
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
18
            } else {
270
18
                ColumnNullConstViewScalar<PType> from_column_view =
271
18
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
18
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
18
            }
274
20
        }
275
        DCHECK_EQ(result_column->size(), count);
276
12
        return result_column;
277
12
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
17
                          size_t count) {
255
17
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
17
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
17
                                             return sum + cs.selector.size();
258
17
                                         }));
259
17
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
17
        auto result_column = result_type->create_column();
261
262
17
        MutableColumnNullViewScalar<PType> result_column_view =
263
17
                MutableColumnNullViewScalar<PType>::create(result_column);
264
17
        init_result_column(result_column_view, count);
265
266
22
        for (const auto& columns_and_selector : columns_and_selectors) {
267
22
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
20
            } else {
270
20
                ColumnNullConstViewScalar<PType> from_column_view =
271
20
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
20
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
20
            }
274
22
        }
275
        DCHECK_EQ(result_column->size(), count);
276
17
        return result_column;
277
17
    }
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
8.18k
                                   size_t count) {
283
8.18k
        result_column_view.data.resize(count);
284
8.18k
        if (result_column_view.null_map != nullptr) {
285
685
            result_column_view.null_map->resize_fill(count, 0);
286
685
        }
287
8.18k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
84
                                   size_t count) {
283
84
        result_column_view.data.resize(count);
284
84
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
84
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
7.13k
                                   size_t count) {
283
7.13k
        result_column_view.data.resize(count);
284
7.13k
        if (result_column_view.null_map != nullptr) {
285
27
            result_column_view.null_map->resize_fill(count, 0);
286
27
        }
287
7.13k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
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_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
522
                                   size_t count) {
283
522
        result_column_view.data.resize(count);
284
522
        if (result_column_view.null_map != nullptr) {
285
400
            result_column_view.null_map->resize_fill(count, 0);
286
400
        }
287
522
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
94
                                   size_t count) {
283
94
        result_column_view.data.resize(count);
284
94
        if (result_column_view.null_map != nullptr) {
285
36
            result_column_view.null_map->resize_fill(count, 0);
286
36
        }
287
94
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
88
                                   size_t count) {
283
88
        result_column_view.data.resize(count);
284
88
        if (result_column_view.null_map != nullptr) {
285
75
            result_column_view.null_map->resize_fill(count, 0);
286
75
        }
287
88
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
14
                                   size_t count) {
283
14
        result_column_view.data.resize(count);
284
14
        if (result_column_view.null_map != nullptr) {
285
14
            result_column_view.null_map->resize_fill(count, 0);
286
14
        }
287
14
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
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
13
            result_column_view.null_map->resize_fill(count, 0);
286
13
        }
287
96
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
56
                                   size_t count) {
283
56
        result_column_view.data.resize(count);
284
56
        if (result_column_view.null_map != nullptr) {
285
43
            result_column_view.null_map->resize_fill(count, 0);
286
43
        }
287
56
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_35EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_11EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_25EEEm
Line
Count
Source
282
23
                                   size_t count) {
283
23
        result_column_view.data.resize(count);
284
23
        if (result_column_view.null_map != nullptr) {
285
11
            result_column_view.null_map->resize_fill(count, 0);
286
11
        }
287
23
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
35
                                   size_t count) {
283
35
        result_column_view.data.resize(count);
284
35
        if (result_column_view.null_map != nullptr) {
285
28
            result_column_view.null_map->resize_fill(count, 0);
286
28
        }
287
35
    }
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
362
                          const Selector& false_selector, size_t count) {
296
362
        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
362
        DCHECK_EQ(true_column->size(), true_selector.size());
301
362
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
362
        auto result_column = result_type->create_column();
304
305
362
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
362
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
362
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
362
        size_t true_index = 0;
310
362
        size_t false_index = 0;
311
1.24k
        for (size_t i = 0; i < count; ++i) {
312
878
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
284
                result_column_view.insert_from(true_column_view, true_index++);
314
594
            } else {
315
594
                result_column_view.insert_from(false_column_view, false_index++);
316
594
            }
317
878
        }
318
319
362
        DCHECK_EQ(result_column->size(), count);
320
362
        return result_column;
321
362
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
135
                          size_t count) {
326
135
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
135
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
135
                                             return sum + cs.selector.size();
329
135
                                         }));
330
135
        struct FillColumnWithPos {
331
135
            std::optional<ColumnNullConstView> source_column;
332
135
            size_t pos_in_source; // position in the column
333
334
378
            void insert_to_column(MutableColumnNullView& result_column) const {
335
378
                if (!source_column) {
336
20
                    result_column.insert_null();
337
358
                } else {
338
358
                    result_column.insert_from(*source_column, pos_in_source);
339
358
                }
340
378
            }
341
135
        };
342
343
135
        auto mutable_result_column = result_type->create_column();
344
135
        mutable_result_column->reserve(count);
345
346
135
        MutableColumnNullView mutable_result_column_view =
347
135
                MutableColumnNullView::create(mutable_result_column);
348
349
135
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
815
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
815
            if (column_with_selector.selector.empty()) {
353
607
                continue;
354
607
            }
355
586
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
378
                size_t result_index = column_with_selector.selector[i];
357
378
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
378
                if (column_with_selector.column) {
360
358
                    ColumnNullConstView column_view =
361
358
                            ColumnNullConstView::create(column_with_selector.column);
362
358
                    fill_positions[result_index].source_column.emplace(column_view);
363
358
                    fill_positions[result_index].pos_in_source = i;
364
358
                } else {
365
20
                    fill_positions[result_index].source_column = std::nullopt;
366
20
                }
367
378
            }
368
208
        }
369
370
378
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
378
            fill_pos.insert_to_column(mutable_result_column_view);
372
378
        }
373
374
135
        DCHECK_EQ(mutable_result_column->size(), count);
375
135
        return mutable_result_column;
376
135
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
12.9k
            : _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
12.9k
    void for_each_with_selector(Func& f) const {
388
12.9k
        if (_selector != nullptr) {
389
5.13k
            const auto& selector_data = *_selector;
390
11.0k
            for (size_t i = 0; i < _count; ++i) {
391
5.94k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
5.94k
            }
393
7.82k
        } else {
394
12.7M
            for (size_t i = 0; i < _count; ++i) {
395
12.7M
                f(index_check_const<is_const>(i), i, i);
396
12.7M
            }
397
7.82k
        }
398
12.9k
    }
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
11
    void for_each_with_selector(Func& f) const {
388
11
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
3
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
10
        } else {
394
20
            for (size_t i = 0; i < _count; ++i) {
395
10
                f(index_check_const<is_const>(i), i, i);
396
10
            }
397
10
        }
398
11
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
2.31k
    void for_each_with_selector(Func& f) const {
388
2.31k
        if (_selector != nullptr) {
389
767
            const auto& selector_data = *_selector;
390
1.58k
            for (size_t i = 0; i < _count; ++i) {
391
821
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
821
            }
393
1.54k
        } else {
394
10.6k
            for (size_t i = 0; i < _count; ++i) {
395
9.07k
                f(index_check_const<is_const>(i), i, i);
396
9.07k
            }
397
1.54k
        }
398
2.31k
    }
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
755
    void for_each_with_selector(Func& f) const {
388
755
        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
755
        } else {
394
678k
            for (size_t i = 0; i < _count; ++i) {
395
678k
                f(index_check_const<is_const>(i), i, i);
396
678k
            }
397
755
        }
398
755
    }
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
3.35k
    void for_each_with_selector(Func& f) const {
388
3.35k
        if (_selector != nullptr) {
389
26
            const auto& selector_data = *_selector;
390
69
            for (size_t i = 0; i < _count; ++i) {
391
43
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
43
            }
393
3.33k
        } else {
394
12.0M
            for (size_t i = 0; i < _count; ++i) {
395
12.0M
                f(index_check_const<is_const>(i), i, i);
396
12.0M
            }
397
3.33k
        }
398
3.35k
    }
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
16
    void for_each_with_selector(Func& f) const {
388
16
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
16
        } else {
394
32
            for (size_t i = 0; i < _count; ++i) {
395
16
                f(index_check_const<is_const>(i), i, i);
396
16
            }
397
16
        }
398
16
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_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
109
    void for_each_with_selector(Func& f) const {
388
109
        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
109
        } else {
394
417
            for (size_t i = 0; i < _count; ++i) {
395
308
                f(index_check_const<is_const>(i), i, i);
396
308
            }
397
109
        }
398
109
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
2
    void for_each_with_selector(Func& f) const {
388
2
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
2
        } else {
394
6
            for (size_t i = 0; i < _count; ++i) {
395
4
                f(index_check_const<is_const>(i), i, i);
396
4
            }
397
2
        }
398
2
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
1.57k
    void for_each_with_selector(Func& f) const {
388
1.57k
        if (_selector != nullptr) {
389
4
            const auto& selector_data = *_selector;
390
12
            for (size_t i = 0; i < _count; ++i) {
391
8
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
8
            }
393
1.56k
        } else {
394
3.16k
            for (size_t i = 0; i < _count; ++i) {
395
1.60k
                f(index_check_const<is_const>(i), i, i);
396
1.60k
            }
397
1.56k
        }
398
1.57k
    }
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
9
    void for_each_with_selector(Func& f) const {
388
9
        if (_selector != nullptr) {
389
9
            const auto& selector_data = *_selector;
390
23
            for (size_t i = 0; i < _count; ++i) {
391
14
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
14
            }
393
9
        } 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
9
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
2.15k
    void for_each_with_selector(Func& f) const {
388
2.15k
        if (_selector != nullptr) {
389
2.15k
            const auto& selector_data = *_selector;
390
4.46k
            for (size_t i = 0; i < _count; ++i) {
391
2.30k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2.30k
            }
393
2.15k
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2.15k
    }
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
2.02k
    void for_each_with_selector(Func& f) const {
388
2.02k
        if (_selector != nullptr) {
389
2.02k
            const auto& selector_data = *_selector;
390
4.59k
            for (size_t i = 0; i < _count; ++i) {
391
2.56k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2.56k
            }
393
2.02k
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2.02k
    }
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
285
    void for_each_with_selector(Func& f) const {
388
285
        if (_selector != nullptr) {
389
29
            const auto& selector_data = *_selector;
390
77
            for (size_t i = 0; i < _count; ++i) {
391
48
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
48
            }
393
256
        } else {
394
1.27k
            for (size_t i = 0; i < _count; ++i) {
395
1.02k
                f(index_check_const<is_const>(i), i, i);
396
1.02k
            }
397
256
        }
398
285
    }
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
8
    void for_each_with_selector(Func& f) const {
388
8
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
2
            for (size_t i = 0; i < _count; ++i) {
391
1
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1
            }
393
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
8
    }
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
232
    void for_each_with_selector(Func& f) const {
388
232
        if (_selector != nullptr) {
389
15
            const auto& selector_data = *_selector;
390
35
            for (size_t i = 0; i < _count; ++i) {
391
20
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
20
            }
393
217
        } else {
394
8.78k
            for (size_t i = 0; i < _count; ++i) {
395
8.56k
                f(index_check_const<is_const>(i), i, i);
396
8.56k
            }
397
217
        }
398
232
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
17
    void for_each_with_selector(Func& f) const {
388
17
        if (_selector != nullptr) {
389
17
            const auto& selector_data = *_selector;
390
36
            for (size_t i = 0; i < _count; ++i) {
391
19
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
19
            }
393
17
        } 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
17
    }
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
42
    void for_each_with_selector(Func& f) const {
388
42
        if (_selector != nullptr) {
389
42
            const auto& selector_data = *_selector;
390
95
            for (size_t i = 0; i < _count; ++i) {
391
53
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
53
            }
393
42
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
42
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_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
30
    void for_each_with_selector(Func& f) const {
388
30
        if (_selector != nullptr) {
389
30
            const auto& selector_data = *_selector;
390
64
            for (size_t i = 0; i < _count; ++i) {
391
34
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
34
            }
393
30
        } 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
30
    }
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
6
    void for_each_with_selector(Func& f) const {
388
6
        if (_selector != nullptr) {
389
6
            const auto& selector_data = *_selector;
390
12
            for (size_t i = 0; i < _count; ++i) {
391
6
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
6
            }
393
6
        } 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
6
    }
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
12.3k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
12.3k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
12.3k
                                      size_t count) {
415
12.3k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
12.3k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
12.3k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
12.3k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
12.3k
        if (this->null_map != nullptr) {
422
4.61k
            const auto& null_map_data = *(this->null_map);
423
12.5k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
12.5k
                if (null_map_data[i]) {
425
163
                    null_func(self_index, executor_index);
426
12.3k
                } else {
427
12.3k
                    if (this->data[i]) {
428
4.70k
                        true_func(self_index, executor_index);
429
7.68k
                    } else {
430
7.68k
                        false_func(self_index, executor_index);
431
7.68k
                    }
432
12.3k
                }
433
12.5k
            };
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
9.90k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
9.90k
                if (null_map_data[i]) {
425
84
                    null_func(self_index, executor_index);
426
9.82k
                } else {
427
9.82k
                    if (this->data[i]) {
428
3.97k
                        true_func(self_index, executor_index);
429
5.84k
                    } else {
430
5.84k
                        false_func(self_index, executor_index);
431
5.84k
                    }
432
9.82k
                }
433
9.90k
            };
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
324
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
324
                if (null_map_data[i]) {
425
51
                    null_func(self_index, executor_index);
426
273
                } else {
427
273
                    if (this->data[i]) {
428
129
                        true_func(self_index, executor_index);
429
144
                    } else {
430
144
                        false_func(self_index, executor_index);
431
144
                    }
432
273
                }
433
324
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
2.32k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.32k
                if (null_map_data[i]) {
425
28
                    null_func(self_index, executor_index);
426
2.29k
                } else {
427
2.29k
                    if (this->data[i]) {
428
598
                        true_func(self_index, executor_index);
429
1.69k
                    } else {
430
1.69k
                        false_func(self_index, executor_index);
431
1.69k
                    }
432
2.29k
                }
433
2.32k
            };
434
4.61k
            if (is_const) {
435
36
                for_each_with_selector<true>(update);
436
4.57k
            } else {
437
4.57k
                for_each_with_selector<false>(update);
438
4.57k
            }
439
7.71k
        } else {
440
            // non-nullable condition column
441
12.7M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
12.7M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
2.74M
                    false_func(self_index, executor_index);
446
2.74M
                }
447
12.7M
            };
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
12.7M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
12.7M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
2.74M
                    false_func(self_index, executor_index);
446
2.74M
                }
447
12.7M
            };
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.61k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.61k
                if (this->data[i]) {
443
93
                    true_func(self_index, executor_index);
444
1.52k
                } else {
445
1.52k
                    false_func(self_index, executor_index);
446
1.52k
                }
447
1.61k
            };
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
2.56k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
2.56k
                if (this->data[i]) {
443
250
                    true_func(self_index, executor_index);
444
2.31k
                } else {
445
2.31k
                    false_func(self_index, executor_index);
446
2.31k
                }
447
2.56k
            };
448
7.71k
            if (is_const) {
449
757
                for_each_with_selector<true>(update);
450
6.95k
            } else {
451
6.95k
                for_each_with_selector<false>(update);
452
6.95k
            }
453
7.71k
        }
454
12.3k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_
Line
Count
Source
420
6.43k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
6.43k
        if (this->null_map != nullptr) {
422
2.32k
            const auto& null_map_data = *(this->null_map);
423
2.32k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.32k
                if (null_map_data[i]) {
425
2.32k
                    null_func(self_index, executor_index);
426
2.32k
                } else {
427
2.32k
                    if (this->data[i]) {
428
2.32k
                        true_func(self_index, executor_index);
429
2.32k
                    } else {
430
2.32k
                        false_func(self_index, executor_index);
431
2.32k
                    }
432
2.32k
                }
433
2.32k
            };
434
2.32k
            if (is_const) {
435
11
                for_each_with_selector<true>(update);
436
2.31k
            } else {
437
2.31k
                for_each_with_selector<false>(update);
438
2.31k
            }
439
4.11k
        } else {
440
            // non-nullable condition column
441
4.11k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
4.11k
                if (this->data[i]) {
443
4.11k
                    true_func(self_index, executor_index);
444
4.11k
                } else {
445
4.11k
                    false_func(self_index, executor_index);
446
4.11k
                }
447
4.11k
            };
448
4.11k
            if (is_const) {
449
755
                for_each_with_selector<true>(update);
450
3.35k
            } else {
451
3.35k
                for_each_with_selector<false>(update);
452
3.35k
            }
453
4.11k
        }
454
6.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
1.69k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
1.69k
        if (this->null_map != nullptr) {
422
125
            const auto& null_map_data = *(this->null_map);
423
125
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
125
                if (null_map_data[i]) {
425
125
                    null_func(self_index, executor_index);
426
125
                } else {
427
125
                    if (this->data[i]) {
428
125
                        true_func(self_index, executor_index);
429
125
                    } else {
430
125
                        false_func(self_index, executor_index);
431
125
                    }
432
125
                }
433
125
            };
434
125
            if (is_const) {
435
16
                for_each_with_selector<true>(update);
436
109
            } else {
437
109
                for_each_with_selector<false>(update);
438
109
            }
439
1.57k
        } else {
440
            // non-nullable condition column
441
1.57k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.57k
                if (this->data[i]) {
443
1.57k
                    true_func(self_index, executor_index);
444
1.57k
                } else {
445
1.57k
                    false_func(self_index, executor_index);
446
1.57k
                }
447
1.57k
            };
448
1.57k
            if (is_const) {
449
2
                for_each_with_selector<true>(update);
450
1.56k
            } else {
451
1.56k
                for_each_with_selector<false>(update);
452
1.56k
            }
453
1.57k
        }
454
1.69k
    }
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
4.19k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
4.19k
        if (this->null_map != nullptr) {
422
2.16k
            const auto& null_map_data = *(this->null_map);
423
2.16k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
2.16k
                if (null_map_data[i]) {
425
2.16k
                    null_func(self_index, executor_index);
426
2.16k
                } else {
427
2.16k
                    if (this->data[i]) {
428
2.16k
                        true_func(self_index, executor_index);
429
2.16k
                    } else {
430
2.16k
                        false_func(self_index, executor_index);
431
2.16k
                    }
432
2.16k
                }
433
2.16k
            };
434
2.16k
            if (is_const) {
435
9
                for_each_with_selector<true>(update);
436
2.15k
            } else {
437
2.15k
                for_each_with_selector<false>(update);
438
2.15k
            }
439
2.16k
        } else {
440
            // non-nullable condition column
441
2.02k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
2.02k
                if (this->data[i]) {
443
2.02k
                    true_func(self_index, executor_index);
444
2.02k
                } else {
445
2.02k
                    false_func(self_index, executor_index);
446
2.02k
                }
447
2.02k
            };
448
2.02k
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
2.02k
            } else {
451
2.02k
                for_each_with_selector<false>(update);
452
2.02k
            }
453
2.02k
        }
454
4.19k
    }
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
633
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
633
                                          size_t count) {
465
633
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
633
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
633
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
627
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
627
        if (this->null_map != nullptr) {
472
591
            const auto& null_map_data = *(this->null_map);
473
9.74k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
9.74k
                if (null_map_data[i]) {
475
304
                    null_func(self_index, executor_index);
476
9.44k
                } else {
477
9.44k
                    not_null_func(self_index, executor_index);
478
9.44k
                }
479
9.74k
            };
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.07k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.07k
                if (null_map_data[i]) {
475
167
                    null_func(self_index, executor_index);
476
909
                } else {
477
909
                    not_null_func(self_index, executor_index);
478
909
                }
479
1.07k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE_clEmmm
Line
Count
Source
473
8.59k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
8.59k
                if (null_map_data[i]) {
475
88
                    null_func(self_index, executor_index);
476
8.51k
                } else {
477
8.51k
                    not_null_func(self_index, executor_index);
478
8.51k
                }
479
8.59k
            };
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
72
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
72
                if (null_map_data[i]) {
475
49
                    null_func(self_index, executor_index);
476
49
                } else {
477
23
                    not_null_func(self_index, executor_index);
478
23
                }
479
72
            };
480
591
            if (is_const) {
481
33
                for_each_with_selector<true>(update);
482
558
            } else {
483
558
                for_each_with_selector<false>(update);
484
558
            }
485
591
        } else {
486
            // non-nullable condition column
487
40
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
40
                not_null_func(self_index, executor_index);
489
40
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
40
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
40
                not_null_func(self_index, executor_index);
489
40
            };
490
36
            if (is_const) {
491
30
                for_each_with_selector<true>(update);
492
30
            } else {
493
6
                for_each_with_selector<false>(update);
494
6
            }
495
36
        }
496
627
    }
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
293
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
293
        if (this->null_map != nullptr) {
472
293
            const auto& null_map_data = *(this->null_map);
473
293
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
293
                if (null_map_data[i]) {
475
293
                    null_func(self_index, executor_index);
476
293
                } else {
477
293
                    not_null_func(self_index, executor_index);
478
293
                }
479
293
            };
480
293
            if (is_const) {
481
8
                for_each_with_selector<true>(update);
482
285
            } else {
483
285
                for_each_with_selector<false>(update);
484
285
            }
485
293
        } 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
293
    }
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
239
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
239
        if (this->null_map != nullptr) {
472
239
            const auto& null_map_data = *(this->null_map);
473
239
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
239
                if (null_map_data[i]) {
475
239
                    null_func(self_index, executor_index);
476
239
                } else {
477
239
                    not_null_func(self_index, executor_index);
478
239
                }
479
239
            };
480
239
            if (is_const) {
481
8
                for_each_with_selector<true>(update);
482
231
            } else {
483
231
                for_each_with_selector<false>(update);
484
231
            }
485
239
        } 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
239
    }
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
95
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
95
        if (this->null_map != nullptr) {
472
59
            const auto& null_map_data = *(this->null_map);
473
59
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
59
                if (null_map_data[i]) {
475
59
                    null_func(self_index, executor_index);
476
59
                } else {
477
59
                    not_null_func(self_index, executor_index);
478
59
                }
479
59
            };
480
59
            if (is_const) {
481
17
                for_each_with_selector<true>(update);
482
42
            } else {
483
42
                for_each_with_selector<false>(update);
484
42
            }
485
59
        } else {
486
            // non-nullable condition column
487
36
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
36
                not_null_func(self_index, executor_index);
489
36
            };
490
36
            if (is_const) {
491
30
                for_each_with_selector<true>(update);
492
30
            } else {
493
6
                for_each_with_selector<false>(update);
494
6
            }
495
36
        }
496
95
    }
497
};
498
499
} // namespace doris