Coverage Report

Created: 2026-07-21 15:03

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
5.47k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
5.47k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
5.47k
        if (const auto* nullable_column =
40
5.47k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.69k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.69k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.69k
                                        .is_const = is_const};
44
3.78k
        } else {
45
3.78k
            return ColumnNullConstView {
46
3.78k
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
3.78k
        }
48
5.47k
    }
49
};
50
51
// Scalar version stores a reference to the actual data type array for convenient subsequent operations.
52
template <PrimitiveType PType>
53
struct ColumnNullConstViewScalar {
54
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
55
    using ArrayType = typename ColumnType::Container;
56
57
    const ArrayType& data;
58
    const NullMap* null_map;
59
    const bool is_const;
60
61
10.4k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
10.4k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
10.4k
        const NullMap* null_map = nullptr;
64
10.4k
        const ArrayType* data = nullptr;
65
10.4k
        if (const auto* nullable_column =
66
10.4k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
2.94k
            null_map = &nullable_column->get_null_map_data();
68
2.94k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
2.94k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
7.54k
        } else {
71
7.54k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
7.54k
        }
73
74
10.4k
        return ColumnNullConstViewScalar {
75
10.4k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
10.4k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4.87k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4.87k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4.87k
        const NullMap* null_map = nullptr;
64
4.87k
        const ArrayType* data = nullptr;
65
4.87k
        if (const auto* nullable_column =
66
4.87k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1.60k
            null_map = &nullable_column->get_null_map_data();
68
1.60k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1.60k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.27k
        } else {
71
3.27k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.27k
        }
73
74
4.87k
        return ColumnNullConstViewScalar {
75
4.87k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4.87k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
3.71k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
3.71k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
3.71k
        const NullMap* null_map = nullptr;
64
3.71k
        const ArrayType* data = nullptr;
65
3.71k
        if (const auto* nullable_column =
66
3.71k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
45
            null_map = &nullable_column->get_null_map_data();
68
45
            const auto& nested_from_column = nullable_column->get_nested_column();
69
45
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.66k
        } else {
71
3.66k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.66k
        }
73
74
3.71k
        return ColumnNullConstViewScalar {
75
3.71k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
3.71k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
18
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
18
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
18
        const NullMap* null_map = nullptr;
64
18
        const ArrayType* data = nullptr;
65
18
        if (const auto* nullable_column =
66
18
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
14
            null_map = &nullable_column->get_null_map_data();
68
14
            const auto& nested_from_column = nullable_column->get_nested_column();
69
14
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
14
        } else {
71
4
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
4
        }
73
74
18
        return ColumnNullConstViewScalar {
75
18
                .data = *data, .null_map = null_map, .is_const = is_const};
76
18
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.15k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.15k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.15k
        const NullMap* null_map = nullptr;
64
1.15k
        const ArrayType* data = nullptr;
65
1.15k
        if (const auto* nullable_column =
66
1.15k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
880
            null_map = &nullable_column->get_null_map_data();
68
880
            const auto& nested_from_column = nullable_column->get_nested_column();
69
880
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
880
        } else {
71
274
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
274
        }
73
74
1.15k
        return ColumnNullConstViewScalar {
75
1.15k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.15k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
251
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
251
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
251
        const NullMap* null_map = nullptr;
64
251
        const ArrayType* data = nullptr;
65
251
        if (const auto* nullable_column =
66
251
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
110
            null_map = &nullable_column->get_null_map_data();
68
110
            const auto& nested_from_column = nullable_column->get_nested_column();
69
110
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
141
        } else {
71
141
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
141
        }
73
74
251
        return ColumnNullConstViewScalar {
75
251
                .data = *data, .null_map = null_map, .is_const = is_const};
76
251
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2
        const NullMap* null_map = nullptr;
64
2
        const ArrayType* data = nullptr;
65
2
        if (const auto* nullable_column =
66
2
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
0
            null_map = &nullable_column->get_null_map_data();
68
0
            const auto& nested_from_column = nullable_column->get_nested_column();
69
0
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
2
        return ColumnNullConstViewScalar {
75
2
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
8
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
8
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
8
        const NullMap* null_map = nullptr;
64
8
        const ArrayType* data = nullptr;
65
8
        if (const auto* nullable_column =
66
8
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6
            null_map = &nullable_column->get_null_map_data();
68
6
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
8
        return ColumnNullConstViewScalar {
75
8
                .data = *data, .null_map = null_map, .is_const = is_const};
76
8
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
212
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
212
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
212
        const NullMap* null_map = nullptr;
64
212
        const ArrayType* data = nullptr;
65
212
        if (const auto* nullable_column =
66
212
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
137
            null_map = &nullable_column->get_null_map_data();
68
137
            const auto& nested_from_column = nullable_column->get_nested_column();
69
137
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
137
        } else {
71
75
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
75
        }
73
74
212
        return ColumnNullConstViewScalar {
75
212
                .data = *data, .null_map = null_map, .is_const = is_const};
76
212
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_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_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
25
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
25
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
25
        const NullMap* null_map = nullptr;
64
25
        const ArrayType* data = nullptr;
65
25
        if (const auto* nullable_column =
66
25
                    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
7
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
7
        }
73
74
25
        return ColumnNullConstViewScalar {
75
25
                .data = *data, .null_map = null_map, .is_const = is_const};
76
25
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
111
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
111
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
111
        const NullMap* null_map = nullptr;
64
111
        const ArrayType* data = nullptr;
65
111
        if (const auto* nullable_column =
66
111
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
67
            null_map = &nullable_column->get_null_map_data();
68
67
            const auto& nested_from_column = nullable_column->get_nested_column();
69
67
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
67
        } else {
71
44
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
44
        }
73
74
111
        return ColumnNullConstViewScalar {
75
111
                .data = *data, .null_map = null_map, .is_const = is_const};
76
111
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
6
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
6
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
6
        const NullMap* null_map = nullptr;
64
6
        const ArrayType* data = nullptr;
65
6
        if (const auto* nullable_column =
66
6
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6
            null_map = &nullable_column->get_null_map_data();
68
6
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
6
        return ColumnNullConstViewScalar {
75
6
                .data = *data, .null_map = null_map, .is_const = is_const};
76
6
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
82
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
82
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
82
        const NullMap* null_map = nullptr;
64
82
        const ArrayType* data = nullptr;
65
82
        if (const auto* nullable_column =
66
82
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
23
            null_map = &nullable_column->get_null_map_data();
68
23
            const auto& nested_from_column = nullable_column->get_nested_column();
69
23
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
59
        } else {
71
59
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
59
        }
73
74
82
        return ColumnNullConstViewScalar {
75
82
                .data = *data, .null_map = null_map, .is_const = is_const};
76
82
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
24
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
24
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
24
        const NullMap* null_map = nullptr;
64
24
        const ArrayType* data = nullptr;
65
24
        if (const auto* nullable_column =
66
24
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
22
            null_map = &nullable_column->get_null_map_data();
68
22
            const auto& nested_from_column = nullable_column->get_nested_column();
69
22
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
22
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
24
        return ColumnNullConstViewScalar {
75
24
                .data = *data, .null_map = null_map, .is_const = is_const};
76
24
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
898
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
898
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
512
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
512
                                          .null_map = &nullable_column->get_null_map_data()};
88
512
        } else {
89
386
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
386
        }
91
898
    }
92
93
13.0k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
13.0k
        auto index = index_check_const(i, from.is_const);
95
13.0k
        column.insert_from(from.column, index);
96
13.0k
        if (null_map != nullptr && from.null_map != nullptr) {
97
9.44k
            null_map->push_back((*from.null_map)[index]);
98
9.44k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
2.81k
            null_map->push_back(0);
101
2.81k
        }
102
13.0k
    }
103
104
29
    void insert_null() {
105
29
        if (null_map == nullptr) {
106
0
            throw doris::Exception(ErrorCode::INTERNAL_ERROR,
107
0
                                   "Cannot insert null value into non-nullable column in "
108
0
                                   "ShortCircuitCoalesceExpr.");
109
0
        }
110
29
        column.insert_default();
111
29
        null_map->push_back(1);
112
29
    }
113
};
114
115
template <PrimitiveType PType>
116
struct MutableColumnNullViewScalar {
117
    using ColumnType = typename PrimitiveTypeTraits<PType>::ColumnType;
118
    using ArrayType = typename ColumnType::Container;
119
120
    ArrayType& data;
121
    NullMap* null_map;
122
123
2.97k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2.97k
        ColumnType* data_column = nullptr;
125
2.97k
        NullMap* null_map = nullptr;
126
2.97k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
731
            null_map = &nullable_column->get_null_map_data();
128
731
            auto& nested_column = nullable_column->get_nested_column();
129
731
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2.24k
        } else {
131
2.24k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2.24k
        }
133
134
2.97k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2.97k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
114
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
114
        ColumnType* data_column = nullptr;
125
114
        NullMap* null_map = nullptr;
126
114
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
3
            null_map = &nullable_column->get_null_map_data();
128
3
            auto& nested_column = nullable_column->get_nested_column();
129
3
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
111
        } else {
131
111
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
111
        }
133
134
114
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
114
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.86k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.86k
        ColumnType* data_column = nullptr;
125
1.86k
        NullMap* null_map = nullptr;
126
1.86k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
33
            null_map = &nullable_column->get_null_map_data();
128
33
            auto& nested_column = nullable_column->get_nested_column();
129
33
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.82k
        } else {
131
1.82k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
1.82k
        }
133
134
1.86k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.86k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_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
12
            null_map = &nullable_column->get_null_map_data();
128
12
            auto& nested_column = nullable_column->get_nested_column();
129
12
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
12
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
14
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
14
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
597
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
597
        ColumnType* data_column = nullptr;
125
597
        NullMap* null_map = nullptr;
126
597
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
462
            null_map = &nullable_column->get_null_map_data();
128
462
            auto& nested_column = nullable_column->get_nested_column();
129
462
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
462
        } else {
131
135
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
135
        }
133
134
597
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
597
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
129
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
129
        ColumnType* data_column = nullptr;
125
129
        NullMap* null_map = nullptr;
126
129
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
35
            null_map = &nullable_column->get_null_map_data();
128
35
            auto& nested_column = nullable_column->get_nested_column();
129
35
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
94
        } else {
131
94
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
94
        }
133
134
129
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
129
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2
        ColumnType* data_column = nullptr;
125
2
        NullMap* null_map = nullptr;
126
2
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
0
            null_map = &nullable_column->get_null_map_data();
128
0
            auto& nested_column = nullable_column->get_nested_column();
129
0
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
7
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
7
        ColumnType* data_column = nullptr;
125
7
        NullMap* null_map = nullptr;
126
7
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
5
            null_map = &nullable_column->get_null_map_data();
128
5
            auto& nested_column = nullable_column->get_nested_column();
129
5
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
7
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
106
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
106
        ColumnType* data_column = nullptr;
125
106
        NullMap* null_map = nullptr;
126
106
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
91
            null_map = &nullable_column->get_null_map_data();
128
91
            auto& nested_column = nullable_column->get_nested_column();
129
91
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
91
        } else {
131
15
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
15
        }
133
134
106
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
106
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
8
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
8
        ColumnType* data_column = nullptr;
125
8
        NullMap* null_map = nullptr;
126
8
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
8
            null_map = &nullable_column->get_null_map_data();
128
8
            auto& nested_column = nullable_column->get_nested_column();
129
8
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
8
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
8
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_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
4
            null_map = &nullable_column->get_null_map_data();
128
4
            auto& nested_column = nullable_column->get_nested_column();
129
4
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
12
        } else {
131
12
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
12
        }
133
134
16
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
59
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
59
        ColumnType* data_column = nullptr;
125
59
        NullMap* null_map = nullptr;
126
59
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
46
            null_map = &nullable_column->get_null_map_data();
128
46
            auto& nested_column = nullable_column->get_nested_column();
129
46
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
46
        } else {
131
13
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
13
        }
133
134
59
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
59
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
4
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
4
        ColumnType* data_column = nullptr;
125
4
        NullMap* null_map = nullptr;
126
4
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
4
            null_map = &nullable_column->get_null_map_data();
128
4
            auto& nested_column = nullable_column->get_nested_column();
129
4
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
4
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
4
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
43
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
43
        ColumnType* data_column = nullptr;
125
43
        NullMap* null_map = nullptr;
126
43
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
15
            null_map = &nullable_column->get_null_map_data();
128
15
            auto& nested_column = nullable_column->get_nested_column();
129
15
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
28
        } else {
131
28
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
28
        }
133
134
43
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
43
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
15
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
15
        ColumnType* data_column = nullptr;
125
15
        NullMap* null_map = nullptr;
126
15
        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
13
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
15
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
15
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
5.83k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
5.83k
        auto& result_data = data;
139
5.83k
        const auto& from_data = from.data;
140
141
5.83k
        auto* result_null_map_data = null_map;
142
5.83k
        const auto* from_null_map_data = from.null_map;
143
144
5.83k
        if (from.is_const) {
145
2.51k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2.51k
                                     from_null_map_data, selector);
147
3.32k
        } else {
148
3.32k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
3.32k
                                      from_null_map_data, selector);
150
3.32k
        }
151
5.83k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
226
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
226
        auto& result_data = data;
139
226
        const auto& from_data = from.data;
140
141
226
        auto* result_null_map_data = null_map;
142
226
        const auto* from_null_map_data = from.null_map;
143
144
226
        if (from.is_const) {
145
5
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5
                                     from_null_map_data, selector);
147
221
        } else {
148
221
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
221
                                      from_null_map_data, selector);
150
221
        }
151
226
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
3.71k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
3.71k
        auto& result_data = data;
139
3.71k
        const auto& from_data = from.data;
140
141
3.71k
        auto* result_null_map_data = null_map;
142
3.71k
        const auto* from_null_map_data = from.null_map;
143
144
3.71k
        if (from.is_const) {
145
1.94k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1.94k
                                     from_null_map_data, selector);
147
1.94k
        } else {
148
1.76k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.76k
                                      from_null_map_data, selector);
150
1.76k
        }
151
3.71k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
18
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
18
        auto& result_data = data;
139
18
        const auto& from_data = from.data;
140
141
18
        auto* result_null_map_data = null_map;
142
18
        const auto* from_null_map_data = from.null_map;
143
144
18
        if (from.is_const) {
145
6
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6
                                     from_null_map_data, selector);
147
12
        } else {
148
12
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12
                                      from_null_map_data, selector);
150
12
        }
151
18
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.15k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.15k
        auto& result_data = data;
139
1.15k
        const auto& from_data = from.data;
140
141
1.15k
        auto* result_null_map_data = null_map;
142
1.15k
        const auto* from_null_map_data = from.null_map;
143
144
1.15k
        if (from.is_const) {
145
391
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
391
                                     from_null_map_data, selector);
147
759
        } else {
148
759
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
759
                                      from_null_map_data, selector);
150
759
        }
151
1.15k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
251
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
251
        auto& result_data = data;
139
251
        const auto& from_data = from.data;
140
141
251
        auto* result_null_map_data = null_map;
142
251
        const auto* from_null_map_data = from.null_map;
143
144
251
        if (from.is_const) {
145
56
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
56
                                     from_null_map_data, selector);
147
195
        } else {
148
195
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
195
                                      from_null_map_data, selector);
150
195
        }
151
251
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2
        auto& result_data = data;
139
2
        const auto& from_data = from.data;
140
141
2
        auto* result_null_map_data = null_map;
142
2
        const auto* from_null_map_data = from.null_map;
143
144
2
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
2
        } else {
148
0
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
0
                                      from_null_map_data, selector);
150
0
        }
151
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
8
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
8
        auto& result_data = data;
139
8
        const auto& from_data = from.data;
140
141
8
        auto* result_null_map_data = null_map;
142
8
        const auto* from_null_map_data = from.null_map;
143
144
8
        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
6
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
212
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
212
        auto& result_data = data;
139
212
        const auto& from_data = from.data;
140
141
212
        auto* result_null_map_data = null_map;
142
212
        const auto* from_null_map_data = from.null_map;
143
144
212
        if (from.is_const) {
145
63
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
63
                                     from_null_map_data, selector);
147
149
        } else {
148
149
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
149
                                      from_null_map_data, selector);
150
149
        }
151
212
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
12
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
12
        auto& result_data = data;
139
12
        const auto& from_data = from.data;
140
141
12
        auto* result_null_map_data = null_map;
142
12
        const auto* from_null_map_data = from.null_map;
143
144
12
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
12
        } else {
148
12
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12
                                      from_null_map_data, selector);
150
12
        }
151
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
25
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
25
        auto& result_data = data;
139
25
        const auto& from_data = from.data;
140
141
25
        auto* result_null_map_data = null_map;
142
25
        const auto* from_null_map_data = from.null_map;
143
144
25
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
21
        } else {
148
21
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
21
                                      from_null_map_data, selector);
150
21
        }
151
25
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
111
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
111
        auto& result_data = data;
139
111
        const auto& from_data = from.data;
140
141
111
        auto* result_null_map_data = null_map;
142
111
        const auto* from_null_map_data = from.null_map;
143
144
111
        if (from.is_const) {
145
36
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
36
                                     from_null_map_data, selector);
147
75
        } else {
148
75
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
75
                                      from_null_map_data, selector);
150
75
        }
151
111
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_35EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
6
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
6
        auto& result_data = data;
139
6
        const auto& from_data = from.data;
140
141
6
        auto* result_null_map_data = null_map;
142
6
        const auto* from_null_map_data = from.null_map;
143
144
6
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
6
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_11EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_25EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
82
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
82
        auto& result_data = data;
139
82
        const auto& from_data = from.data;
140
141
82
        auto* result_null_map_data = null_map;
142
82
        const auto* from_null_map_data = from.null_map;
143
144
82
        if (from.is_const) {
145
6
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
6
                                     from_null_map_data, selector);
147
76
        } else {
148
76
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
76
                                      from_null_map_data, selector);
150
76
        }
151
82
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
24
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
24
        auto& result_data = data;
139
24
        const auto& from_data = from.data;
140
141
24
        auto* result_null_map_data = null_map;
142
24
        const auto* from_null_map_data = from.null_map;
143
144
24
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
22
        } else {
148
22
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
22
                                      from_null_map_data, selector);
150
22
        }
151
24
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
5.83k
                                   const Selector& selector) {
157
5.83k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
5.83k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.15k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.15k
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
5.83k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
5
                                   const Selector& selector) {
157
5
        insert_with_selector<is_const>(result_data, from_data, selector);
158
5
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
3
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
3
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
221
                                   const Selector& selector) {
157
221
        insert_with_selector<is_const>(result_data, from_data, selector);
158
221
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
3
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
3
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
221
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.94k
                                   const Selector& selector) {
157
1.94k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.94k
        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.94k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.76k
                                   const Selector& selector) {
157
1.76k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.76k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
40
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
40
        }
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.76k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_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
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
12
                                   const Selector& selector) {
157
12
        insert_with_selector<is_const>(result_data, from_data, selector);
158
12
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
391
                                   const Selector& selector) {
157
391
        insert_with_selector<is_const>(result_data, from_data, selector);
158
391
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
326
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
326
        }
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
391
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
759
                                   const Selector& selector) {
157
759
        insert_with_selector<is_const>(result_data, from_data, selector);
158
759
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
448
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
448
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
759
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
56
                                   const Selector& selector) {
157
56
        insert_with_selector<is_const>(result_data, from_data, selector);
158
56
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
13
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
13
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
56
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
195
                                   const Selector& selector) {
157
195
        insert_with_selector<is_const>(result_data, from_data, selector);
158
195
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
52
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
52
        }
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
195
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
63
                                   const Selector& selector) {
157
63
        insert_with_selector<is_const>(result_data, from_data, selector);
158
63
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
63
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
149
                                   const Selector& selector) {
157
149
        insert_with_selector<is_const>(result_data, from_data, selector);
158
149
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
108
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
108
        }
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
149
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
12
                                   const Selector& selector) {
157
12
        insert_with_selector<is_const>(result_data, from_data, selector);
158
12
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
4
                                   const Selector& selector) {
157
4
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
21
                                   const Selector& selector) {
157
21
        insert_with_selector<is_const>(result_data, from_data, selector);
158
21
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
5
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
5
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
21
    }
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
36
                                   const Selector& selector) {
157
36
        insert_with_selector<is_const>(result_data, from_data, selector);
158
36
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
15
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
15
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
36
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
75
                                   const Selector& selector) {
157
75
        insert_with_selector<is_const>(result_data, from_data, selector);
158
75
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
49
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
49
        }
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
75
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEERKSA_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSI_RKNSE_IjLm4096ESH_Lm16ELm15EEE
Line
Count
Source
156
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_13PrimitiveTypeE11EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
76
                                   const Selector& selector) {
157
76
        insert_with_selector<is_const>(result_data, from_data, selector);
158
76
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
22
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
22
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
76
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
22
                                   const Selector& selector) {
157
22
        insert_with_selector<is_const>(result_data, from_data, selector);
158
22
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
22
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
22
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
22
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
6.99k
                                     const Selector& selector) {
169
10.0M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.0M
            auto index = selector[i];
171
10.0M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.0M
        }
173
6.99k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
16
        for (size_t i = 0; i < selector.size(); ++i) {
170
8
            auto index = selector[i];
171
8
            result_data[index] = data[index_check_const<is_const>(i)];
172
8
        }
173
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
224
                                     const Selector& selector) {
169
589
        for (size_t i = 0; i < selector.size(); ++i) {
170
365
            auto index = selector[i];
171
365
            result_data[index] = data[index_check_const<is_const>(i)];
172
365
        }
173
224
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.94k
                                     const Selector& selector) {
169
10.0M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.0M
            auto index = selector[i];
171
10.0M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.0M
        }
173
1.94k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.76k
                                     const Selector& selector) {
169
1.82k
        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
1.76k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
40
                                     const Selector& selector) {
169
81
        for (size_t i = 0; i < selector.size(); ++i) {
170
41
            auto index = selector[i];
171
41
            result_data[index] = data[index_check_const<is_const>(i)];
172
41
        }
173
40
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
18
        for (size_t i = 0; i < selector.size(); ++i) {
170
12
            auto index = selector[i];
171
12
            result_data[index] = data[index_check_const<is_const>(i)];
172
12
        }
173
6
    }
_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
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
391
                                     const Selector& selector) {
169
1.76k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.37k
            auto index = selector[i];
171
1.37k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.37k
        }
173
391
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
326
                                     const Selector& selector) {
169
1.58k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.26k
            auto index = selector[i];
171
1.26k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.26k
        }
173
326
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
759
                                     const Selector& selector) {
169
1.54k
        for (size_t i = 0; i < selector.size(); ++i) {
170
790
            auto index = selector[i];
171
790
            result_data[index] = data[index_check_const<is_const>(i)];
172
790
        }
173
759
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
448
                                     const Selector& selector) {
169
845
        for (size_t i = 0; i < selector.size(); ++i) {
170
397
            auto index = selector[i];
171
397
            result_data[index] = data[index_check_const<is_const>(i)];
172
397
        }
173
448
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
56
                                     const Selector& selector) {
169
163
        for (size_t i = 0; i < selector.size(); ++i) {
170
107
            auto index = selector[i];
171
107
            result_data[index] = data[index_check_const<is_const>(i)];
172
107
        }
173
56
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
13
                                     const Selector& selector) {
169
29
        for (size_t i = 0; i < selector.size(); ++i) {
170
16
            auto index = selector[i];
171
16
            result_data[index] = data[index_check_const<is_const>(i)];
172
16
        }
173
13
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
195
                                     const Selector& selector) {
169
505
        for (size_t i = 0; i < selector.size(); ++i) {
170
310
            auto index = selector[i];
171
310
            result_data[index] = data[index_check_const<is_const>(i)];
172
310
        }
173
195
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
52
                                     const Selector& selector) {
169
108
        for (size_t i = 0; i < selector.size(); ++i) {
170
56
            auto index = selector[i];
171
56
            result_data[index] = data[index_check_const<is_const>(i)];
172
56
        }
173
52
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
63
                                     const Selector& selector) {
169
6.77k
        for (size_t i = 0; i < selector.size(); ++i) {
170
6.71k
            auto index = selector[i];
171
6.71k
            result_data[index] = data[index_check_const<is_const>(i)];
172
6.71k
        }
173
63
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
11
            auto index = selector[i];
171
11
            result_data[index] = data[index_check_const<is_const>(i)];
172
11
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
149
                                     const Selector& selector) {
169
1.51k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.36k
            auto index = selector[i];
171
1.36k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.36k
        }
173
149
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
108
                                     const Selector& selector) {
169
1.43k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.33k
            auto index = selector[i];
171
1.33k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.33k
        }
173
108
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
30
        for (size_t i = 0; i < selector.size(); ++i) {
170
18
            auto index = selector[i];
171
18
            result_data[index] = data[index_check_const<is_const>(i)];
172
18
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
30
        for (size_t i = 0; i < selector.size(); ++i) {
170
18
            auto index = selector[i];
171
18
            result_data[index] = data[index_check_const<is_const>(i)];
172
18
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
8
        for (size_t i = 0; i < selector.size(); ++i) {
170
4
            auto index = selector[i];
171
4
            result_data[index] = data[index_check_const<is_const>(i)];
172
4
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_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_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
21
                                     const Selector& selector) {
169
87
        for (size_t i = 0; i < selector.size(); ++i) {
170
66
            auto index = selector[i];
171
66
            result_data[index] = data[index_check_const<is_const>(i)];
172
66
        }
173
21
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5
                                     const Selector& selector) {
169
15
        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
5
    }
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
36
                                     const Selector& selector) {
169
639
        for (size_t i = 0; i < selector.size(); ++i) {
170
603
            auto index = selector[i];
171
603
            result_data[index] = data[index_check_const<is_const>(i)];
172
603
        }
173
36
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
15
                                     const Selector& selector) {
169
34
        for (size_t i = 0; i < selector.size(); ++i) {
170
19
            auto index = selector[i];
171
19
            result_data[index] = data[index_check_const<is_const>(i)];
172
19
        }
173
15
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
75
                                     const Selector& selector) {
169
192
        for (size_t i = 0; i < selector.size(); ++i) {
170
117
            auto index = selector[i];
171
117
            result_data[index] = data[index_check_const<is_const>(i)];
172
117
        }
173
75
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
49
                                     const Selector& selector) {
169
139
        for (size_t i = 0; i < selector.size(); ++i) {
170
90
            auto index = selector[i];
171
90
            result_data[index] = data[index_check_const<is_const>(i)];
172
90
        }
173
49
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIN4wide7integerILm256EiEEEEEESA_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
10
        for (size_t i = 0; i < selector.size(); ++i) {
170
4
            auto index = selector[i];
171
4
            result_data[index] = data[index_check_const<is_const>(i)];
172
4
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
10
        for (size_t i = 0; i < selector.size(); ++i) {
170
4
            auto index = selector[i];
171
4
            result_data[index] = data[index_check_const<is_const>(i)];
172
4
        }
173
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
16
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
3
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
76
                                     const Selector& selector) {
169
166
        for (size_t i = 0; i < selector.size(); ++i) {
170
90
            auto index = selector[i];
171
90
            result_data[index] = data[index_check_const<is_const>(i)];
172
90
        }
173
76
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
52
        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
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
63
        for (size_t i = 0; i < selector.size(); ++i) {
170
41
            auto index = selector[i];
171
41
            result_data[index] = data[index_check_const<is_const>(i)];
172
41
        }
173
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
22
                                     const Selector& selector) {
169
63
        for (size_t i = 0; i < selector.size(); ++i) {
170
41
            auto index = selector[i];
171
41
            result_data[index] = data[index_check_const<is_const>(i)];
172
41
        }
173
22
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
23
    void insert_null(const Selector& selector) {
176
23
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
23
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
22
        auto& null_map_data = *null_map;
183
49
        for (size_t i = 0; i < selector.size(); ++i) {
184
27
            null_map_data[selector[i]] = 1;
185
27
        }
186
22
    }
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
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
13
    void insert_null(const Selector& selector) {
176
13
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
13
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
12
        auto& null_map_data = *null_map;
183
29
        for (size_t i = 0; i < selector.size(); ++i) {
184
17
            null_map_data[selector[i]] = 1;
185
17
        }
186
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
1
    void insert_null(const Selector& selector) {
176
1
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
1
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
1
        auto& null_map_data = *null_map;
183
2
        for (size_t i = 0; i < selector.size(); ++i) {
184
1
            null_map_data[selector[i]] = 1;
185
1
        }
186
1
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
411
    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
2.72k
                          const Selector& false_selector, size_t count) {
230
2.72k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2.72k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2.72k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2.72k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2.72k
        auto result_column = result_type->create_column();
236
237
2.72k
        MutableColumnNullViewScalar<PType> result_column_view =
238
2.72k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2.72k
        init_result_column(result_column_view, count);
240
241
2.72k
        ColumnNullConstViewScalar<PType> true_column_view =
242
2.72k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2.72k
        ColumnNullConstViewScalar<PType> false_column_view =
244
2.72k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2.72k
        result_column_view.insert_from(true_column_view, true_selector);
247
2.72k
        result_column_view.insert_from(false_column_view, false_selector);
248
2.72k
        DCHECK_EQ(result_column->size(), count);
249
2.72k
        return result_column;
250
2.72k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
112
                          const Selector& false_selector, size_t count) {
230
112
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
112
        DCHECK_EQ(true_column->size(), true_selector.size());
232
112
        DCHECK_EQ(false_column->size(), false_selector.size());
233
112
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
112
        auto result_column = result_type->create_column();
236
237
112
        MutableColumnNullViewScalar<PType> result_column_view =
238
112
                MutableColumnNullViewScalar<PType>::create(result_column);
239
112
        init_result_column(result_column_view, count);
240
241
112
        ColumnNullConstViewScalar<PType> true_column_view =
242
112
                ColumnNullConstViewScalar<PType>::create(true_column);
243
112
        ColumnNullConstViewScalar<PType> false_column_view =
244
112
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
112
        result_column_view.insert_from(true_column_view, true_selector);
247
112
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
112
        return result_column;
250
112
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1.83k
                          const Selector& false_selector, size_t count) {
230
1.83k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1.83k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1.83k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1.83k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1.83k
        auto result_column = result_type->create_column();
236
237
1.83k
        MutableColumnNullViewScalar<PType> result_column_view =
238
1.83k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1.83k
        init_result_column(result_column_view, count);
240
241
1.83k
        ColumnNullConstViewScalar<PType> true_column_view =
242
1.83k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1.83k
        ColumnNullConstViewScalar<PType> false_column_view =
244
1.83k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1.83k
        result_column_view.insert_from(true_column_view, true_selector);
247
1.83k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1.83k
        return result_column;
250
1.83k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2
                          const Selector& false_selector, size_t count) {
230
2
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2
        auto result_column = result_type->create_column();
236
237
2
        MutableColumnNullViewScalar<PType> result_column_view =
238
2
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2
        init_result_column(result_column_view, count);
240
241
2
        ColumnNullConstViewScalar<PType> true_column_view =
242
2
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2
        ColumnNullConstViewScalar<PType> false_column_view =
244
2
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2
        result_column_view.insert_from(true_column_view, true_selector);
247
2
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2
        return result_column;
250
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
500
                          const Selector& false_selector, size_t count) {
230
500
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
500
        DCHECK_EQ(true_column->size(), true_selector.size());
232
500
        DCHECK_EQ(false_column->size(), false_selector.size());
233
500
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
500
        auto result_column = result_type->create_column();
236
237
500
        MutableColumnNullViewScalar<PType> result_column_view =
238
500
                MutableColumnNullViewScalar<PType>::create(result_column);
239
500
        init_result_column(result_column_view, count);
240
241
500
        ColumnNullConstViewScalar<PType> true_column_view =
242
500
                ColumnNullConstViewScalar<PType>::create(true_column);
243
500
        ColumnNullConstViewScalar<PType> false_column_view =
244
500
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
500
        result_column_view.insert_from(true_column_view, true_selector);
247
500
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
500
        return result_column;
250
500
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
91
                          const Selector& false_selector, size_t count) {
230
91
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
91
        DCHECK_EQ(true_column->size(), true_selector.size());
232
91
        DCHECK_EQ(false_column->size(), false_selector.size());
233
91
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
91
        auto result_column = result_type->create_column();
236
237
91
        MutableColumnNullViewScalar<PType> result_column_view =
238
91
                MutableColumnNullViewScalar<PType>::create(result_column);
239
91
        init_result_column(result_column_view, count);
240
241
91
        ColumnNullConstViewScalar<PType> true_column_view =
242
91
                ColumnNullConstViewScalar<PType>::create(true_column);
243
91
        ColumnNullConstViewScalar<PType> false_column_view =
244
91
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
91
        result_column_view.insert_from(true_column_view, true_selector);
247
91
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
91
        return result_column;
250
91
    }
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
80
                          const Selector& false_selector, size_t count) {
230
80
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
80
        DCHECK_EQ(true_column->size(), true_selector.size());
232
80
        DCHECK_EQ(false_column->size(), false_selector.size());
233
80
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
80
        auto result_column = result_type->create_column();
236
237
80
        MutableColumnNullViewScalar<PType> result_column_view =
238
80
                MutableColumnNullViewScalar<PType>::create(result_column);
239
80
        init_result_column(result_column_view, count);
240
241
80
        ColumnNullConstViewScalar<PType> true_column_view =
242
80
                ColumnNullConstViewScalar<PType>::create(true_column);
243
80
        ColumnNullConstViewScalar<PType> false_column_view =
244
80
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
80
        result_column_view.insert_from(true_column_view, true_selector);
247
80
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
80
        return result_column;
250
80
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
3
                          const Selector& false_selector, size_t count) {
230
3
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
3
        DCHECK_EQ(true_column->size(), true_selector.size());
232
3
        DCHECK_EQ(false_column->size(), false_selector.size());
233
3
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
3
        auto result_column = result_type->create_column();
236
237
3
        MutableColumnNullViewScalar<PType> result_column_view =
238
3
                MutableColumnNullViewScalar<PType>::create(result_column);
239
3
        init_result_column(result_column_view, count);
240
241
3
        ColumnNullConstViewScalar<PType> true_column_view =
242
3
                ColumnNullConstViewScalar<PType>::create(true_column);
243
3
        ColumnNullConstViewScalar<PType> false_column_view =
244
3
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
3
        result_column_view.insert_from(true_column_view, true_selector);
247
3
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
3
        return result_column;
250
3
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
9
                          const Selector& false_selector, size_t count) {
230
9
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
9
        DCHECK_EQ(true_column->size(), true_selector.size());
232
9
        DCHECK_EQ(false_column->size(), false_selector.size());
233
9
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
9
        auto result_column = result_type->create_column();
236
237
9
        MutableColumnNullViewScalar<PType> result_column_view =
238
9
                MutableColumnNullViewScalar<PType>::create(result_column);
239
9
        init_result_column(result_column_view, count);
240
241
9
        ColumnNullConstViewScalar<PType> true_column_view =
242
9
                ColumnNullConstViewScalar<PType>::create(true_column);
243
9
        ColumnNullConstViewScalar<PType> false_column_view =
244
9
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
9
        result_column_view.insert_from(true_column_view, true_selector);
247
9
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
9
        return result_column;
250
9
    }
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
51
                          const Selector& false_selector, size_t count) {
230
51
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
51
        DCHECK_EQ(true_column->size(), true_selector.size());
232
51
        DCHECK_EQ(false_column->size(), false_selector.size());
233
51
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
51
        auto result_column = result_type->create_column();
236
237
51
        MutableColumnNullViewScalar<PType> result_column_view =
238
51
                MutableColumnNullViewScalar<PType>::create(result_column);
239
51
        init_result_column(result_column_view, count);
240
241
51
        ColumnNullConstViewScalar<PType> true_column_view =
242
51
                ColumnNullConstViewScalar<PType>::create(true_column);
243
51
        ColumnNullConstViewScalar<PType> false_column_view =
244
51
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
51
        result_column_view.insert_from(true_column_view, true_selector);
247
51
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
51
        return result_column;
250
51
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2
                          const Selector& false_selector, size_t count) {
230
2
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2
        auto result_column = result_type->create_column();
236
237
2
        MutableColumnNullViewScalar<PType> result_column_view =
238
2
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2
        init_result_column(result_column_view, count);
240
241
2
        ColumnNullConstViewScalar<PType> true_column_view =
242
2
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2
        ColumnNullConstViewScalar<PType> false_column_view =
244
2
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2
        result_column_view.insert_from(true_column_view, true_selector);
247
2
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2
        return result_column;
250
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_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
34
                          const Selector& false_selector, size_t count) {
230
34
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
34
        DCHECK_EQ(true_column->size(), true_selector.size());
232
34
        DCHECK_EQ(false_column->size(), false_selector.size());
233
34
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
34
        auto result_column = result_type->create_column();
236
237
34
        MutableColumnNullViewScalar<PType> result_column_view =
238
34
                MutableColumnNullViewScalar<PType>::create(result_column);
239
34
        init_result_column(result_column_view, count);
240
241
34
        ColumnNullConstViewScalar<PType> true_column_view =
242
34
                ColumnNullConstViewScalar<PType>::create(true_column);
243
34
        ColumnNullConstViewScalar<PType> false_column_view =
244
34
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
34
        result_column_view.insert_from(true_column_view, true_selector);
247
34
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
34
        return result_column;
250
34
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
8
                          const Selector& false_selector, size_t count) {
230
8
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
8
        DCHECK_EQ(true_column->size(), true_selector.size());
232
8
        DCHECK_EQ(false_column->size(), false_selector.size());
233
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
8
        auto result_column = result_type->create_column();
236
237
8
        MutableColumnNullViewScalar<PType> result_column_view =
238
8
                MutableColumnNullViewScalar<PType>::create(result_column);
239
8
        init_result_column(result_column_view, count);
240
241
8
        ColumnNullConstViewScalar<PType> true_column_view =
242
8
                ColumnNullConstViewScalar<PType>::create(true_column);
243
8
        ColumnNullConstViewScalar<PType> false_column_view =
244
8
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
8
        result_column_view.insert_from(true_column_view, true_selector);
247
8
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
8
        return result_column;
250
8
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
245
                          size_t count) {
255
245
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
245
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
245
                                             return sum + cs.selector.size();
258
245
                                         }));
259
245
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
245
        auto result_column = result_type->create_column();
261
262
245
        MutableColumnNullViewScalar<PType> result_column_view =
263
245
                MutableColumnNullViewScalar<PType>::create(result_column);
264
245
        init_result_column(result_column_view, count);
265
266
406
        for (const auto& columns_and_selector : columns_and_selectors) {
267
406
            if (columns_and_selector.output_nulls()) {
268
21
                result_column_view.insert_null(columns_and_selector.selector);
269
385
            } else {
270
385
                ColumnNullConstViewScalar<PType> from_column_view =
271
385
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
385
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
385
            }
274
406
        }
275
245
        DCHECK_EQ(result_column->size(), count);
276
245
        return result_column;
277
245
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
27
                          size_t count) {
255
27
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
27
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
27
                                             return sum + cs.selector.size();
258
27
                                         }));
259
27
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
27
        auto result_column = result_type->create_column();
261
262
27
        MutableColumnNullViewScalar<PType> result_column_view =
263
27
                MutableColumnNullViewScalar<PType>::create(result_column);
264
27
        init_result_column(result_column_view, count);
265
266
46
        for (const auto& columns_and_selector : columns_and_selectors) {
267
46
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
44
            } else {
270
44
                ColumnNullConstViewScalar<PType> from_column_view =
271
44
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
44
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
44
            }
274
46
        }
275
        DCHECK_EQ(result_column->size(), count);
276
27
        return result_column;
277
27
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_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
16
        for (const auto& columns_and_selector : columns_and_selectors) {
267
16
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
14
            } else {
270
14
                ColumnNullConstViewScalar<PType> from_column_view =
271
14
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
14
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
14
            }
274
16
        }
275
        DCHECK_EQ(result_column->size(), count);
276
12
        return result_column;
277
12
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
93
                          size_t count) {
255
93
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
93
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
93
                                             return sum + cs.selector.size();
258
93
                                         }));
259
93
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
93
        auto result_column = result_type->create_column();
261
262
93
        MutableColumnNullViewScalar<PType> result_column_view =
263
93
                MutableColumnNullViewScalar<PType>::create(result_column);
264
93
        init_result_column(result_column_view, count);
265
266
159
        for (const auto& columns_and_selector : columns_and_selectors) {
267
159
            if (columns_and_selector.output_nulls()) {
268
11
                result_column_view.insert_null(columns_and_selector.selector);
269
148
            } else {
270
148
                ColumnNullConstViewScalar<PType> from_column_view =
271
148
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
148
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
148
            }
274
159
        }
275
        DCHECK_EQ(result_column->size(), count);
276
93
        return result_column;
277
93
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
38
                          size_t count) {
255
38
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
38
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
38
                                             return sum + cs.selector.size();
258
38
                                         }));
259
38
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
38
        auto result_column = result_type->create_column();
261
262
38
        MutableColumnNullViewScalar<PType> result_column_view =
263
38
                MutableColumnNullViewScalar<PType>::create(result_column);
264
38
        init_result_column(result_column_view, count);
265
266
70
        for (const auto& columns_and_selector : columns_and_selectors) {
267
70
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
69
            } else {
270
69
                ColumnNullConstViewScalar<PType> from_column_view =
271
69
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
69
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
69
            }
274
70
        }
275
        DCHECK_EQ(result_column->size(), count);
276
38
        return result_column;
277
38
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        init_result_column(result_column_view, count);
265
266
9
        for (const auto& columns_and_selector : columns_and_selectors) {
267
9
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
8
            } else {
270
8
                ColumnNullConstViewScalar<PType> from_column_view =
271
8
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
8
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
8
            }
274
9
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
26
                          size_t count) {
255
26
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
26
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
26
                                             return sum + cs.selector.size();
258
26
                                         }));
259
26
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
26
        auto result_column = result_type->create_column();
261
262
26
        MutableColumnNullViewScalar<PType> result_column_view =
263
26
                MutableColumnNullViewScalar<PType>::create(result_column);
264
26
        init_result_column(result_column_view, count);
265
266
53
        for (const auto& columns_and_selector : columns_and_selectors) {
267
53
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
52
            } else {
270
52
                ColumnNullConstViewScalar<PType> from_column_view =
271
52
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
52
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
52
            }
274
53
        }
275
        DCHECK_EQ(result_column->size(), count);
276
26
        return result_column;
277
26
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
5
                          size_t count) {
255
5
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
5
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
5
                                             return sum + cs.selector.size();
258
5
                                         }));
259
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
5
        auto result_column = result_type->create_column();
261
262
5
        MutableColumnNullViewScalar<PType> result_column_view =
263
5
                MutableColumnNullViewScalar<PType>::create(result_column);
264
5
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
7
            } else {
270
7
                ColumnNullConstViewScalar<PType> from_column_view =
271
7
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
7
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
7
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
8
                          size_t count) {
255
8
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
8
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
8
                                             return sum + cs.selector.size();
258
8
                                         }));
259
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
8
        auto result_column = result_type->create_column();
261
262
8
        MutableColumnNullViewScalar<PType> result_column_view =
263
8
                MutableColumnNullViewScalar<PType>::create(result_column);
264
8
        init_result_column(result_column_view, count);
265
266
9
        for (const auto& columns_and_selector : columns_and_selectors) {
267
9
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
9
            } else {
270
9
                ColumnNullConstViewScalar<PType> from_column_view =
271
9
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
9
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
9
            }
274
9
        }
275
        DCHECK_EQ(result_column->size(), count);
276
8
        return result_column;
277
8
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
9
                          size_t count) {
255
9
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
9
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
9
                                             return sum + cs.selector.size();
258
9
                                         }));
259
9
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
9
        auto result_column = result_type->create_column();
261
262
9
        MutableColumnNullViewScalar<PType> result_column_view =
263
9
                MutableColumnNullViewScalar<PType>::create(result_column);
264
9
        init_result_column(result_column_view, count);
265
266
15
        for (const auto& columns_and_selector : columns_and_selectors) {
267
15
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
14
            } else {
270
14
                ColumnNullConstViewScalar<PType> from_column_view =
271
14
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
14
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
14
            }
274
15
        }
275
        DCHECK_EQ(result_column->size(), count);
276
9
        return result_column;
277
9
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
7
                          size_t count) {
255
7
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
7
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
7
                                             return sum + cs.selector.size();
258
7
                                         }));
259
7
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
7
        auto result_column = result_type->create_column();
261
262
7
        MutableColumnNullViewScalar<PType> result_column_view =
263
7
                MutableColumnNullViewScalar<PType>::create(result_column);
264
7
        init_result_column(result_column_view, count);
265
266
9
        for (const auto& columns_and_selector : columns_and_selectors) {
267
9
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
8
            } else {
270
8
                ColumnNullConstViewScalar<PType> from_column_view =
271
8
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
8
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
8
            }
274
9
        }
275
        DCHECK_EQ(result_column->size(), count);
276
7
        return result_column;
277
7
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
278
279
private:
280
    // if result_column is nullable,nullmap will all init to false
281
    static void init_result_column(MutableColumnNullViewScalar<PType>& result_column_view,
282
2.97k
                                   size_t count) {
283
2.97k
        result_column_view.data.resize(count);
284
2.97k
        if (result_column_view.null_map != nullptr) {
285
729
            result_column_view.null_map->resize_fill(count, 0);
286
729
        }
287
2.97k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
114
                                   size_t count) {
283
114
        result_column_view.data.resize(count);
284
114
        if (result_column_view.null_map != nullptr) {
285
3
            result_column_view.null_map->resize_fill(count, 0);
286
3
        }
287
114
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
1.86k
                                   size_t count) {
283
1.86k
        result_column_view.data.resize(count);
284
1.86k
        if (result_column_view.null_map != nullptr) {
285
33
            result_column_view.null_map->resize_fill(count, 0);
286
33
        }
287
1.86k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
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
12
            result_column_view.null_map->resize_fill(count, 0);
286
12
        }
287
14
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
593
                                   size_t count) {
283
593
        result_column_view.data.resize(count);
284
593
        if (result_column_view.null_map != nullptr) {
285
460
            result_column_view.null_map->resize_fill(count, 0);
286
460
        }
287
593
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
129
                                   size_t count) {
283
129
        result_column_view.data.resize(count);
284
129
        if (result_column_view.null_map != nullptr) {
285
35
            result_column_view.null_map->resize_fill(count, 0);
286
35
        }
287
129
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
Line
Count
Source
282
2
                                   size_t count) {
283
2
        result_column_view.data.resize(count);
284
2
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
Line
Count
Source
282
7
                                   size_t count) {
283
7
        result_column_view.data.resize(count);
284
7
        if (result_column_view.null_map != nullptr) {
285
5
            result_column_view.null_map->resize_fill(count, 0);
286
5
        }
287
7
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
106
                                   size_t count) {
283
106
        result_column_view.data.resize(count);
284
106
        if (result_column_view.null_map != nullptr) {
285
91
            result_column_view.null_map->resize_fill(count, 0);
286
91
        }
287
106
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
8
                                   size_t count) {
283
8
        result_column_view.data.resize(count);
284
8
        if (result_column_view.null_map != nullptr) {
285
8
            result_column_view.null_map->resize_fill(count, 0);
286
8
        }
287
8
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
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
4
            result_column_view.null_map->resize_fill(count, 0);
286
4
        }
287
16
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
59
                                   size_t count) {
283
59
        result_column_view.data.resize(count);
284
59
        if (result_column_view.null_map != nullptr) {
285
46
            result_column_view.null_map->resize_fill(count, 0);
286
46
        }
287
59
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_35EEEm
Line
Count
Source
282
4
                                   size_t count) {
283
4
        result_column_view.data.resize(count);
284
4
        if (result_column_view.null_map != nullptr) {
285
4
            result_column_view.null_map->resize_fill(count, 0);
286
4
        }
287
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_11EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_25EEEm
Line
Count
Source
282
43
                                   size_t count) {
283
43
        result_column_view.data.resize(count);
284
43
        if (result_column_view.null_map != nullptr) {
285
15
            result_column_view.null_map->resize_fill(count, 0);
286
15
        }
287
43
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
15
                                   size_t count) {
283
15
        result_column_view.data.resize(count);
284
15
        if (result_column_view.null_map != nullptr) {
285
13
            result_column_view.null_map->resize_fill(count, 0);
286
13
        }
287
15
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
634
                          const Selector& false_selector, size_t count) {
296
634
        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
634
        DCHECK_EQ(true_column->size(), true_selector.size());
301
634
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
634
        auto result_column = result_type->create_column();
304
305
634
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
634
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
634
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
634
        size_t true_index = 0;
310
634
        size_t false_index = 0;
311
10.2k
        for (size_t i = 0; i < count; ++i) {
312
9.61k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
4.45k
                result_column_view.insert_from(true_column_view, true_index++);
314
5.15k
            } else {
315
5.15k
                result_column_view.insert_from(false_column_view, false_index++);
316
5.15k
            }
317
9.61k
        }
318
319
634
        DCHECK_EQ(result_column->size(), count);
320
634
        return result_column;
321
634
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
258
                          size_t count) {
326
258
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
258
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
258
                                             return sum + cs.selector.size();
329
258
                                         }));
330
258
        struct FillColumnWithPos {
331
258
            std::optional<ColumnNullConstView> source_column;
332
258
            size_t pos_in_source; // position in the column
333
334
3.44k
            void insert_to_column(MutableColumnNullView& result_column) const {
335
3.44k
                if (!source_column) {
336
27
                    result_column.insert_null();
337
3.41k
                } else {
338
3.41k
                    result_column.insert_from(*source_column, pos_in_source);
339
3.41k
                }
340
3.44k
            }
341
258
        };
342
343
258
        auto mutable_result_column = result_type->create_column();
344
258
        mutable_result_column->reserve(count);
345
346
258
        MutableColumnNullView mutable_result_column_view =
347
258
                MutableColumnNullView::create(mutable_result_column);
348
349
258
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
1.85k
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
1.85k
            if (column_with_selector.selector.empty()) {
353
647
                continue;
354
647
            }
355
4.65k
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
3.44k
                size_t result_index = column_with_selector.selector[i];
357
3.44k
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
3.44k
                if (column_with_selector.column) {
360
3.41k
                    ColumnNullConstView column_view =
361
3.41k
                            ColumnNullConstView::create(column_with_selector.column);
362
3.41k
                    fill_positions[result_index].source_column.emplace(column_view);
363
3.41k
                    fill_positions[result_index].pos_in_source = i;
364
3.41k
                } else {
365
27
                    fill_positions[result_index].source_column = std::nullopt;
366
27
                }
367
3.44k
            }
368
1.21k
        }
369
370
3.44k
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
3.44k
            fill_pos.insert_to_column(mutable_result_column_view);
372
3.44k
        }
373
374
258
        DCHECK_EQ(mutable_result_column->size(), count);
375
258
        return mutable_result_column;
376
258
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
5.42k
            : _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
5.41k
    void for_each_with_selector(Func& f) const {
388
5.41k
        if (_selector != nullptr) {
389
1.75k
            const auto& selector_data = *_selector;
390
16.8k
            for (size_t i = 0; i < _count; ++i) {
391
15.1k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
15.1k
            }
393
3.66k
        } else {
394
10.0M
            for (size_t i = 0; i < _count; ++i) {
395
10.0M
                f(index_check_const<is_const>(i), i, i);
396
10.0M
            }
397
3.66k
        }
398
5.41k
    }
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
8
    void for_each_with_selector(Func& f) const {
388
8
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
6
            for (size_t i = 0; i < _count; ++i) {
391
4
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
4
            }
393
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_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
390
    void for_each_with_selector(Func& f) const {
388
390
        if (_selector != nullptr) {
389
46
            const auto& selector_data = *_selector;
390
148
            for (size_t i = 0; i < _count; ++i) {
391
102
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
102
            }
393
344
        } else {
394
15.6k
            for (size_t i = 0; i < _count; ++i) {
395
15.3k
                f(index_check_const<is_const>(i), i, i);
396
15.3k
            }
397
344
        }
398
390
    }
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
191
    void for_each_with_selector(Func& f) const {
388
191
        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
191
        } else {
394
829
            for (size_t i = 0; i < _count; ++i) {
395
638
                f(index_check_const<is_const>(i), i, i);
396
638
            }
397
191
        }
398
191
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE0_EEvSP_
Line
Count
Source
387
2.37k
    void for_each_with_selector(Func& f) const {
388
2.37k
        if (_selector != nullptr) {
389
64
            const auto& selector_data = *_selector;
390
167
            for (size_t i = 0; i < _count; ++i) {
391
103
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
103
            }
393
2.31k
        } else {
394
10.0M
            for (size_t i = 0; i < _count; ++i) {
395
10.0M
                f(index_check_const<is_const>(i), i, i);
396
10.0M
            }
397
2.31k
        }
398
2.37k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
6
    void for_each_with_selector(Func& f) const {
388
6
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
6
        } else {
394
18
            for (size_t i = 0; i < _count; ++i) {
395
12
                f(index_check_const<is_const>(i), i, i);
396
12
            }
397
6
        }
398
6
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
170
    void for_each_with_selector(Func& f) const {
388
170
        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
170
        } else {
394
3.42k
            for (size_t i = 0; i < _count; ++i) {
395
3.25k
                f(index_check_const<is_const>(i), i, i);
396
3.25k
            }
397
170
        }
398
170
    }
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
55
    void for_each_with_selector(Func& f) const {
388
55
        if (_selector != nullptr) {
389
18
            const auto& selector_data = *_selector;
390
58
            for (size_t i = 0; i < _count; ++i) {
391
40
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
40
            }
393
37
        } else {
394
155
            for (size_t i = 0; i < _count; ++i) {
395
118
                f(index_check_const<is_const>(i), i, i);
396
118
            }
397
37
        }
398
55
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
15
    void for_each_with_selector(Func& f) const {
388
15
        if (_selector != nullptr) {
389
15
            const auto& selector_data = *_selector;
390
40
            for (size_t i = 0; i < _count; ++i) {
391
25
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
25
            }
393
15
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
15
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_3ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_4ZNS_21execute_case_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_5EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
896
    void for_each_with_selector(Func& f) const {
388
896
        if (_selector != nullptr) {
389
896
            const auto& selector_data = *_selector;
390
14.4k
            for (size_t i = 0; i < _count; ++i) {
391
13.5k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
13.5k
            }
393
896
        } 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
896
    }
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
534
    void for_each_with_selector(Func& f) const {
388
534
        if (_selector != nullptr) {
389
534
            const auto& selector_data = *_selector;
390
1.61k
            for (size_t i = 0; i < _count; ++i) {
391
1.08k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.08k
            }
393
534
        } 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
534
    }
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
2
    void for_each_with_selector(Func& f) const {
388
2
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_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
388
    void for_each_with_selector(Func& f) const {
388
388
        if (_selector != nullptr) {
389
41
            const auto& selector_data = *_selector;
390
113
            for (size_t i = 0; i < _count; ++i) {
391
72
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
72
            }
393
347
        } else {
394
1.33k
            for (size_t i = 0; i < _count; ++i) {
395
986
                f(index_check_const<is_const>(i), i, i);
396
986
            }
397
347
        }
398
388
    }
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
5
    void for_each_with_selector(Func& f) const {
388
5
        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
3
        } else {
394
6
            for (size_t i = 0; i < _count; ++i) {
395
3
                f(index_check_const<is_const>(i), i, i);
396
3
            }
397
3
        }
398
5
    }
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
235
    void for_each_with_selector(Func& f) const {
388
235
        if (_selector != nullptr) {
389
12
            const auto& selector_data = *_selector;
390
30
            for (size_t i = 0; i < _count; ++i) {
391
18
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
18
            }
393
223
        } else {
394
746
            for (size_t i = 0; i < _count; ++i) {
395
523
                f(index_check_const<is_const>(i), i, i);
396
523
            }
397
223
        }
398
235
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
24
    void for_each_with_selector(Func& f) const {
388
24
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
24
        } else {
394
48
            for (size_t i = 0; i < _count; ++i) {
395
24
                f(index_check_const<is_const>(i), i, i);
396
24
            }
397
24
        }
398
24
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
2
    void for_each_with_selector(Func& f) const {
388
2
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
69
    void for_each_with_selector(Func& f) const {
388
69
        if (_selector != nullptr) {
389
69
            const auto& selector_data = *_selector;
390
155
            for (size_t i = 0; i < _count; ++i) {
391
86
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
86
            }
393
69
        } 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
69
    }
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
49
    void for_each_with_selector(Func& f) const {
388
49
        if (_selector != nullptr) {
389
49
            const auto& selector_data = *_selector;
390
110
            for (size_t i = 0; i < _count; ++i) {
391
61
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
61
            }
393
49
        } 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
49
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
2
    void for_each_with_selector(Func& f) const {
388
2
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
4.64k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
4.64k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
4.64k
                                      size_t count) {
415
4.64k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
4.64k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
4.64k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
4.64k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
4.64k
        if (this->null_map != nullptr) {
422
1.48k
            const auto& null_map_data = *(this->null_map);
423
32.2k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
32.2k
                if (null_map_data[i]) {
425
192
                    null_func(self_index, executor_index);
426
32.0k
                } else {
427
32.0k
                    if (this->data[i]) {
428
7.56k
                        true_func(self_index, executor_index);
429
24.5k
                    } else {
430
24.5k
                        false_func(self_index, executor_index);
431
24.5k
                    }
432
32.0k
                }
433
32.2k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
15.4k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
15.4k
                if (null_map_data[i]) {
425
97
                    null_func(self_index, executor_index);
426
15.3k
                } else {
427
15.3k
                    if (this->data[i]) {
428
4.61k
                        true_func(self_index, executor_index);
429
10.7k
                    } else {
430
10.7k
                        false_func(self_index, executor_index);
431
10.7k
                    }
432
15.3k
                }
433
15.4k
            };
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
3.26k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
3.26k
                if (null_map_data[i]) {
425
49
                    null_func(self_index, executor_index);
426
3.21k
                } else {
427
3.21k
                    if (this->data[i]) {
428
399
                        true_func(self_index, executor_index);
429
2.81k
                    } else {
430
2.81k
                        false_func(self_index, executor_index);
431
2.81k
                    }
432
3.21k
                }
433
3.26k
            };
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
13.5k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
13.5k
                if (null_map_data[i]) {
425
46
                    null_func(self_index, executor_index);
426
13.5k
                } else {
427
13.5k
                    if (this->data[i]) {
428
2.55k
                        true_func(self_index, executor_index);
429
10.9k
                    } else {
430
10.9k
                        false_func(self_index, executor_index);
431
10.9k
                    }
432
13.5k
                }
433
13.5k
            };
434
1.48k
            if (is_const) {
435
29
                for_each_with_selector<true>(update);
436
1.45k
            } else {
437
1.45k
                for_each_with_selector<false>(update);
438
1.45k
            }
439
3.15k
        } else {
440
            // non-nullable condition column
441
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
64.5k
                    false_func(self_index, executor_index);
446
64.5k
                }
447
10.0M
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
10.0M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.0M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
63.4k
                    false_func(self_index, executor_index);
446
63.4k
                }
447
10.0M
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
162
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
162
                if (this->data[i]) {
443
39
                    true_func(self_index, executor_index);
444
123
                } else {
445
123
                    false_func(self_index, executor_index);
446
123
                }
447
162
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_21execute_case_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_3ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_4ZNS_21execute_case_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_5EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
1.08k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.08k
                if (this->data[i]) {
443
18
                    true_func(self_index, executor_index);
444
1.06k
                } else {
445
1.06k
                    false_func(self_index, executor_index);
446
1.06k
                }
447
1.08k
            };
448
3.15k
            if (is_const) {
449
193
                for_each_with_selector<true>(update);
450
2.96k
            } else {
451
2.96k
                for_each_with_selector<false>(update);
452
2.96k
            }
453
3.15k
        }
454
4.64k
    }
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
2.96k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
2.96k
        if (this->null_map != nullptr) {
422
398
            const auto& null_map_data = *(this->null_map);
423
398
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
398
                if (null_map_data[i]) {
425
398
                    null_func(self_index, executor_index);
426
398
                } else {
427
398
                    if (this->data[i]) {
428
398
                        true_func(self_index, executor_index);
429
398
                    } else {
430
398
                        false_func(self_index, executor_index);
431
398
                    }
432
398
                }
433
398
            };
434
398
            if (is_const) {
435
8
                for_each_with_selector<true>(update);
436
390
            } else {
437
390
                for_each_with_selector<false>(update);
438
390
            }
439
2.56k
        } else {
440
            // non-nullable condition column
441
2.56k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
2.56k
                if (this->data[i]) {
443
2.56k
                    true_func(self_index, executor_index);
444
2.56k
                } else {
445
2.56k
                    false_func(self_index, executor_index);
446
2.56k
                }
447
2.56k
            };
448
2.56k
            if (is_const) {
449
191
                for_each_with_selector<true>(update);
450
2.37k
            } else {
451
2.37k
                for_each_with_selector<false>(update);
452
2.37k
            }
453
2.56k
        }
454
2.96k
    }
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
233
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
233
        if (this->null_map != nullptr) {
422
176
            const auto& null_map_data = *(this->null_map);
423
176
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
176
                if (null_map_data[i]) {
425
176
                    null_func(self_index, executor_index);
426
176
                } else {
427
176
                    if (this->data[i]) {
428
176
                        true_func(self_index, executor_index);
429
176
                    } else {
430
176
                        false_func(self_index, executor_index);
431
176
                    }
432
176
                }
433
176
            };
434
176
            if (is_const) {
435
6
                for_each_with_selector<true>(update);
436
170
            } else {
437
170
                for_each_with_selector<false>(update);
438
170
            }
439
176
        } else {
440
            // non-nullable condition column
441
57
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
57
                if (this->data[i]) {
443
57
                    true_func(self_index, executor_index);
444
57
                } else {
445
57
                    false_func(self_index, executor_index);
446
57
                }
447
57
            };
448
57
            if (is_const) {
449
2
                for_each_with_selector<true>(update);
450
55
            } else {
451
55
                for_each_with_selector<false>(update);
452
55
            }
453
57
        }
454
233
    }
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
1.44k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
1.44k
        if (this->null_map != nullptr) {
422
911
            const auto& null_map_data = *(this->null_map);
423
911
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
911
                if (null_map_data[i]) {
425
911
                    null_func(self_index, executor_index);
426
911
                } else {
427
911
                    if (this->data[i]) {
428
911
                        true_func(self_index, executor_index);
429
911
                    } else {
430
911
                        false_func(self_index, executor_index);
431
911
                    }
432
911
                }
433
911
            };
434
911
            if (is_const) {
435
15
                for_each_with_selector<true>(update);
436
896
            } else {
437
896
                for_each_with_selector<false>(update);
438
896
            }
439
911
        } else {
440
            // non-nullable condition column
441
534
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
534
                if (this->data[i]) {
443
534
                    true_func(self_index, executor_index);
444
534
                } else {
445
534
                    false_func(self_index, executor_index);
446
534
                }
447
534
            };
448
534
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
534
            } else {
451
534
                for_each_with_selector<false>(update);
452
534
            }
453
534
        }
454
1.44k
    }
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
781
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
781
                                          size_t count) {
465
781
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
781
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
781
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
776
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
776
        if (this->null_map != nullptr) {
472
701
            const auto& null_map_data = *(this->null_map);
473
1.69k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.69k
                if (null_map_data[i]) {
475
274
                    null_func(self_index, executor_index);
476
1.42k
                } else {
477
1.42k
                    not_null_func(self_index, executor_index);
478
1.42k
                }
479
1.69k
            };
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.06k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.06k
                if (null_map_data[i]) {
475
99
                    null_func(self_index, executor_index);
476
961
                } else {
477
961
                    not_null_func(self_index, executor_index);
478
961
                }
479
1.06k
            };
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
546
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
546
                if (null_map_data[i]) {
475
127
                    null_func(self_index, executor_index);
476
419
                } else {
477
419
                    not_null_func(self_index, executor_index);
478
419
                }
479
546
            };
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
88
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
88
                if (null_map_data[i]) {
475
48
                    null_func(self_index, executor_index);
476
48
                } else {
477
40
                    not_null_func(self_index, executor_index);
478
40
                }
479
88
            };
480
701
            if (is_const) {
481
9
                for_each_with_selector<true>(update);
482
692
            } else {
483
692
                for_each_with_selector<false>(update);
484
692
            }
485
701
        } else {
486
            // non-nullable condition column
487
87
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
87
                not_null_func(self_index, executor_index);
489
87
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
63
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
63
                not_null_func(self_index, executor_index);
489
63
            };
490
75
            if (is_const) {
491
73
                for_each_with_selector<true>(update);
492
73
            } else {
493
2
                for_each_with_selector<false>(update);
494
2
            }
495
75
        }
496
776
    }
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
390
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
390
        if (this->null_map != nullptr) {
472
390
            const auto& null_map_data = *(this->null_map);
473
390
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
390
                if (null_map_data[i]) {
475
390
                    null_func(self_index, executor_index);
476
390
                } else {
477
390
                    not_null_func(self_index, executor_index);
478
390
                }
479
390
            };
480
390
            if (is_const) {
481
2
                for_each_with_selector<true>(update);
482
388
            } else {
483
388
                for_each_with_selector<false>(update);
484
388
            }
485
390
        } 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
390
    }
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
264
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
264
        if (this->null_map != nullptr) {
472
240
            const auto& null_map_data = *(this->null_map);
473
240
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
240
                if (null_map_data[i]) {
475
240
                    null_func(self_index, executor_index);
476
240
                } else {
477
240
                    not_null_func(self_index, executor_index);
478
240
                }
479
240
            };
480
240
            if (is_const) {
481
5
                for_each_with_selector<true>(update);
482
235
            } else {
483
235
                for_each_with_selector<false>(update);
484
235
            }
485
240
        } else {
486
            // non-nullable condition column
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
490
24
            if (is_const) {
491
24
                for_each_with_selector<true>(update);
492
24
            } else {
493
0
                for_each_with_selector<false>(update);
494
0
            }
495
24
        }
496
264
    }
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
122
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
122
        if (this->null_map != nullptr) {
472
71
            const auto& null_map_data = *(this->null_map);
473
71
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
71
                if (null_map_data[i]) {
475
71
                    null_func(self_index, executor_index);
476
71
                } else {
477
71
                    not_null_func(self_index, executor_index);
478
71
                }
479
71
            };
480
71
            if (is_const) {
481
2
                for_each_with_selector<true>(update);
482
69
            } else {
483
69
                for_each_with_selector<false>(update);
484
69
            }
485
71
        } else {
486
            // non-nullable condition column
487
51
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
51
                not_null_func(self_index, executor_index);
489
51
            };
490
51
            if (is_const) {
491
49
                for_each_with_selector<true>(update);
492
49
            } else {
493
2
                for_each_with_selector<false>(update);
494
2
            }
495
51
        }
496
122
    }
497
};
498
499
} // namespace doris