Coverage Report

Created: 2026-07-23 18:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/short_circuit_util.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include "core/block/column_with_type_and_name.h"
20
#include "core/column/column.h"
21
#include "core/column/column_const.h"
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_vector.h"
24
#include "core/field.h"
25
#include "exprs/vexpr.h"
26
27
namespace doris {
28
29
// Used to store a column along with its null_map and whether it is a const column.
30
// If the input column is not nullable, then null_map will be nullptr.
31
struct ColumnNullConstView {
32
    const IColumn& column;
33
    const NullMap* null_map;
34
    const bool is_const;
35
36
2.62k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
2.62k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
2.62k
        if (const auto* nullable_column =
40
2.62k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.57k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.57k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.57k
                                        .is_const = is_const};
44
1.57k
        } else {
45
1.05k
            return ColumnNullConstView {
46
1.05k
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
1.05k
        }
48
2.62k
    }
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.3k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
10.3k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
10.3k
        const NullMap* null_map = nullptr;
64
10.3k
        const ArrayType* data = nullptr;
65
10.3k
        if (const auto* nullable_column =
66
10.3k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
3.04k
            null_map = &nullable_column->get_null_map_data();
68
3.04k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
3.04k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
7.32k
        } else {
71
7.32k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
7.32k
        }
73
74
10.3k
        return ColumnNullConstViewScalar {
75
10.3k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
10.3k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4.25k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4.25k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4.25k
        const NullMap* null_map = nullptr;
64
4.25k
        const ArrayType* data = nullptr;
65
4.25k
        if (const auto* nullable_column =
66
4.25k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
803
            null_map = &nullable_column->get_null_map_data();
68
803
            const auto& nested_from_column = nullable_column->get_nested_column();
69
803
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.45k
        } else {
71
3.45k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.45k
        }
73
74
4.25k
        return ColumnNullConstViewScalar {
75
4.25k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4.25k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
3.27k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
3.27k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
3.27k
        const NullMap* null_map = nullptr;
64
3.27k
        const ArrayType* data = nullptr;
65
3.27k
        if (const auto* nullable_column =
66
3.27k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
27
            null_map = &nullable_column->get_null_map_data();
68
27
            const auto& nested_from_column = nullable_column->get_nested_column();
69
27
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
3.25k
        } else {
71
3.25k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3.25k
        }
73
74
3.27k
        return ColumnNullConstViewScalar {
75
3.27k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
3.27k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
12
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
12
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
12
        const NullMap* null_map = nullptr;
64
12
        const ArrayType* data = nullptr;
65
12
        if (const auto* nullable_column =
66
12
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
12
            null_map = &nullable_column->get_null_map_data();
68
12
            const auto& nested_from_column = nullable_column->get_nested_column();
69
12
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
12
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
12
        return ColumnNullConstViewScalar {
75
12
                .data = *data, .null_map = null_map, .is_const = is_const};
76
12
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.96k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.96k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.96k
        const NullMap* null_map = nullptr;
64
1.96k
        const ArrayType* data = nullptr;
65
1.96k
        if (const auto* nullable_column =
66
1.96k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1.72k
            null_map = &nullable_column->get_null_map_data();
68
1.72k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1.72k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
1.72k
        } else {
71
238
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
238
        }
73
74
1.96k
        return ColumnNullConstViewScalar {
75
1.96k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.96k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
333
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
333
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
333
        const NullMap* null_map = nullptr;
64
333
        const ArrayType* data = nullptr;
65
333
        if (const auto* nullable_column =
66
333
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
150
            null_map = &nullable_column->get_null_map_data();
68
150
            const auto& nested_from_column = nullable_column->get_nested_column();
69
150
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
183
        } else {
71
183
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
183
        }
73
74
333
        return ColumnNullConstViewScalar {
75
333
                .data = *data, .null_map = null_map, .is_const = is_const};
76
333
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
6
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
6
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
6
        const NullMap* null_map = nullptr;
64
6
        const ArrayType* data = nullptr;
65
6
        if (const auto* nullable_column =
66
6
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
6
            null_map = &nullable_column->get_null_map_data();
68
6
            const auto& nested_from_column = nullable_column->get_nested_column();
69
6
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
6
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
6
        return ColumnNullConstViewScalar {
75
6
                .data = *data, .null_map = null_map, .is_const = is_const};
76
6
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
172
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
172
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
172
        const NullMap* null_map = nullptr;
64
172
        const ArrayType* data = nullptr;
65
172
        if (const auto* nullable_column =
66
172
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
119
            null_map = &nullable_column->get_null_map_data();
68
119
            const auto& nested_from_column = nullable_column->get_nested_column();
69
119
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
119
        } else {
71
53
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
53
        }
73
74
172
        return ColumnNullConstViewScalar {
75
172
                .data = *data, .null_map = null_map, .is_const = is_const};
76
172
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
28
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
28
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
28
        const NullMap* null_map = nullptr;
64
28
        const ArrayType* data = nullptr;
65
28
        if (const auto* nullable_column =
66
28
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
28
            null_map = &nullable_column->get_null_map_data();
68
28
            const auto& nested_from_column = nullable_column->get_nested_column();
69
28
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
28
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
28
        return ColumnNullConstViewScalar {
75
28
                .data = *data, .null_map = null_map, .is_const = is_const};
76
28
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
49
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
49
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
49
        const NullMap* null_map = nullptr;
64
49
        const ArrayType* data = nullptr;
65
49
        if (const auto* nullable_column =
66
49
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
42
            null_map = &nullable_column->get_null_map_data();
68
42
            const auto& nested_from_column = nullable_column->get_nested_column();
69
42
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
42
        } else {
71
7
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
7
        }
73
74
49
        return ColumnNullConstViewScalar {
75
49
                .data = *data, .null_map = null_map, .is_const = is_const};
76
49
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
162
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
162
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
162
        const NullMap* null_map = nullptr;
64
162
        const ArrayType* data = nullptr;
65
162
        if (const auto* nullable_column =
66
162
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
77
            null_map = &nullable_column->get_null_map_data();
68
77
            const auto& nested_from_column = nullable_column->get_nested_column();
69
77
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
85
        } else {
71
85
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
85
        }
73
74
162
        return ColumnNullConstViewScalar {
75
162
                .data = *data, .null_map = null_map, .is_const = is_const};
76
162
    }
_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
56
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
56
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
56
        const NullMap* null_map = nullptr;
64
56
        const ArrayType* data = nullptr;
65
56
        if (const auto* nullable_column =
66
56
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
8
            null_map = &nullable_column->get_null_map_data();
68
8
            const auto& nested_from_column = nullable_column->get_nested_column();
69
8
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
48
        } else {
71
48
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
48
        }
73
74
56
        return ColumnNullConstViewScalar {
75
56
                .data = *data, .null_map = null_map, .is_const = is_const};
76
56
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
30
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
30
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
30
        const NullMap* null_map = nullptr;
64
30
        const ArrayType* data = nullptr;
65
30
        if (const auto* nullable_column =
66
30
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
29
            null_map = &nullable_column->get_null_map_data();
68
29
            const auto& nested_from_column = nullable_column->get_nested_column();
69
29
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
29
        } else {
71
1
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
1
        }
73
74
30
        return ColumnNullConstViewScalar {
75
30
                .data = *data, .null_map = null_map, .is_const = is_const};
76
30
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
4
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
4
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
4
        const NullMap* null_map = nullptr;
64
4
        const ArrayType* data = nullptr;
65
4
        if (const auto* nullable_column =
66
4
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
4
            null_map = &nullable_column->get_null_map_data();
68
4
            const auto& nested_from_column = nullable_column->get_nested_column();
69
4
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
4
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
4
        return ColumnNullConstViewScalar {
75
4
                .data = *data, .null_map = null_map, .is_const = is_const};
76
4
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
838
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
838
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
442
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
442
                                          .null_map = &nullable_column->get_null_map_data()};
88
442
        } else {
89
396
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
396
        }
91
838
    }
92
93
10.0k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
10.0k
        auto index = index_check_const(i, from.is_const);
95
10.0k
        column.insert_from(from.column, index);
96
10.0k
        if (null_map != nullptr && from.null_map != nullptr) {
97
9.17k
            null_map->push_back((*from.null_map)[index]);
98
9.17k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
88
            null_map->push_back(0);
101
88
        }
102
10.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
3.23k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
3.23k
        ColumnType* data_column = nullptr;
125
3.23k
        NullMap* null_map = nullptr;
126
3.23k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.06k
            null_map = &nullable_column->get_null_map_data();
128
1.06k
            auto& nested_column = nullable_column->get_nested_column();
129
1.06k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2.16k
        } else {
131
2.16k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2.16k
        }
133
134
3.23k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
3.23k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
135
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
135
        ColumnType* data_column = nullptr;
125
135
        NullMap* null_map = nullptr;
126
135
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
2
            null_map = &nullable_column->get_null_map_data();
128
2
            auto& nested_column = nullable_column->get_nested_column();
129
2
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
133
        } else {
131
133
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
133
        }
133
134
135
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
135
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.63k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.63k
        ColumnType* data_column = nullptr;
125
1.63k
        NullMap* null_map = nullptr;
126
1.63k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
24
            null_map = &nullable_column->get_null_map_data();
128
24
            auto& nested_column = nullable_column->get_nested_column();
129
24
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
1.61k
        } else {
131
1.61k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
1.61k
        }
133
134
1.63k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.63k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
1.00k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
1.00k
        ColumnType* data_column = nullptr;
125
1.00k
        NullMap* null_map = nullptr;
126
1.00k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
817
            null_map = &nullable_column->get_null_map_data();
128
817
            auto& nested_column = nullable_column->get_nested_column();
129
817
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
817
        } else {
131
186
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
186
        }
133
134
1.00k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
1.00k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
170
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
170
        ColumnType* data_column = nullptr;
125
170
        NullMap* null_map = nullptr;
126
170
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
38
            null_map = &nullable_column->get_null_map_data();
128
38
            auto& nested_column = nullable_column->get_nested_column();
129
38
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
132
        } else {
131
132
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
132
        }
133
134
170
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
170
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
5
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5
        ColumnType* data_column = nullptr;
125
5
        NullMap* null_map = nullptr;
126
5
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
5
            null_map = &nullable_column->get_null_map_data();
128
5
            auto& nested_column = nullable_column->get_nested_column();
129
5
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
5
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
5
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
86
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
86
        ColumnType* data_column = nullptr;
125
86
        NullMap* null_map = nullptr;
126
86
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
71
            null_map = &nullable_column->get_null_map_data();
128
71
            auto& nested_column = nullable_column->get_nested_column();
129
71
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
71
        } else {
131
15
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
15
        }
133
134
86
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
86
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
16
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
16
        ColumnType* data_column = nullptr;
125
16
        NullMap* null_map = nullptr;
126
16
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
16
            null_map = &nullable_column->get_null_map_data();
128
16
            auto& nested_column = nullable_column->get_nested_column();
129
16
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
16
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
16
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
16
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
28
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
28
        ColumnType* data_column = nullptr;
125
28
        NullMap* null_map = nullptr;
126
28
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
16
            null_map = &nullable_column->get_null_map_data();
128
16
            auto& nested_column = nullable_column->get_nested_column();
129
16
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
16
        } else {
131
12
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
12
        }
133
134
28
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
28
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
82
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
82
        ColumnType* data_column = nullptr;
125
82
        NullMap* null_map = nullptr;
126
82
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
39
            null_map = &nullable_column->get_null_map_data();
128
39
            auto& nested_column = nullable_column->get_nested_column();
129
39
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
43
        } else {
131
43
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
43
        }
133
134
82
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
82
    }
_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
30
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
30
        ColumnType* data_column = nullptr;
125
30
        NullMap* null_map = nullptr;
126
30
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
6
            null_map = &nullable_column->get_null_map_data();
128
6
            auto& nested_column = nullable_column->get_nested_column();
129
6
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
24
        } else {
131
24
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
24
        }
133
134
30
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
30
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
20
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
20
        ColumnType* data_column = nullptr;
125
20
        NullMap* null_map = nullptr;
126
20
        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
7
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
7
        }
133
134
20
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
20
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2
        ColumnType* data_column = nullptr;
125
2
        NullMap* null_map = nullptr;
126
2
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
2
            null_map = &nullable_column->get_null_map_data();
128
2
            auto& nested_column = nullable_column->get_nested_column();
129
2
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
6.37k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
6.37k
        auto& result_data = data;
139
6.37k
        const auto& from_data = from.data;
140
141
6.37k
        auto* result_null_map_data = null_map;
142
6.37k
        const auto* from_null_map_data = from.null_map;
143
144
6.37k
        if (from.is_const) {
145
2.41k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2.41k
                                     from_null_map_data, selector);
147
3.95k
        } else {
148
3.95k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
3.95k
                                      from_null_map_data, selector);
150
3.95k
        }
151
6.37k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
270
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
270
        auto& result_data = data;
139
270
        const auto& from_data = from.data;
140
141
270
        auto* result_null_map_data = null_map;
142
270
        const auto* from_null_map_data = from.null_map;
143
144
270
        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
268
        } else {
148
268
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
268
                                      from_null_map_data, selector);
150
268
        }
151
270
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
3.27k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
3.27k
        auto& result_data = data;
139
3.27k
        const auto& from_data = from.data;
140
141
3.27k
        auto* result_null_map_data = null_map;
142
3.27k
        const auto* from_null_map_data = from.null_map;
143
144
3.27k
        if (from.is_const) {
145
1.84k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1.84k
                                     from_null_map_data, selector);
147
1.84k
        } else {
148
1.43k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.43k
                                      from_null_map_data, selector);
150
1.43k
        }
151
3.27k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
12
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
12
        auto& result_data = data;
139
12
        const auto& from_data = from.data;
140
141
12
        auto* result_null_map_data = null_map;
142
12
        const auto* from_null_map_data = from.null_map;
143
144
12
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
12
        } else {
148
12
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
12
                                      from_null_map_data, selector);
150
12
        }
151
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.96k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.96k
        auto& result_data = data;
139
1.96k
        const auto& from_data = from.data;
140
141
1.96k
        auto* result_null_map_data = null_map;
142
1.96k
        const auto* from_null_map_data = from.null_map;
143
144
1.96k
        if (from.is_const) {
145
387
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
387
                                     from_null_map_data, selector);
147
1.57k
        } else {
148
1.57k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
1.57k
                                      from_null_map_data, selector);
150
1.57k
        }
151
1.96k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
333
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
333
        auto& result_data = data;
139
333
        const auto& from_data = from.data;
140
141
333
        auto* result_null_map_data = null_map;
142
333
        const auto* from_null_map_data = from.null_map;
143
144
333
        if (from.is_const) {
145
70
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
70
                                     from_null_map_data, selector);
147
263
        } else {
148
263
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
263
                                      from_null_map_data, selector);
150
263
        }
151
333
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
6
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
6
        auto& result_data = data;
139
6
        const auto& from_data = from.data;
140
141
6
        auto* result_null_map_data = null_map;
142
6
        const auto* from_null_map_data = from.null_map;
143
144
6
        if (from.is_const) {
145
0
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
0
                                     from_null_map_data, selector);
147
6
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
172
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
172
        auto& result_data = data;
139
172
        const auto& from_data = from.data;
140
141
172
        auto* result_null_map_data = null_map;
142
172
        const auto* from_null_map_data = from.null_map;
143
144
172
        if (from.is_const) {
145
35
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
35
                                     from_null_map_data, selector);
147
137
        } else {
148
137
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
137
                                      from_null_map_data, selector);
150
137
        }
151
172
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
28
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
28
        auto& result_data = data;
139
28
        const auto& from_data = from.data;
140
141
28
        auto* result_null_map_data = null_map;
142
28
        const auto* from_null_map_data = from.null_map;
143
144
28
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
27
        } else {
148
27
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
27
                                      from_null_map_data, selector);
150
27
        }
151
28
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
49
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
49
        auto& result_data = data;
139
49
        const auto& from_data = from.data;
140
141
49
        auto* result_null_map_data = null_map;
142
49
        const auto* from_null_map_data = from.null_map;
143
144
49
        if (from.is_const) {
145
11
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
11
                                     from_null_map_data, selector);
147
38
        } else {
148
38
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
38
                                      from_null_map_data, selector);
150
38
        }
151
49
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
162
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
162
        auto& result_data = data;
139
162
        const auto& from_data = from.data;
140
141
162
        auto* result_null_map_data = null_map;
142
162
        const auto* from_null_map_data = from.null_map;
143
144
162
        if (from.is_const) {
145
59
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
59
                                     from_null_map_data, selector);
147
103
        } else {
148
103
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
103
                                      from_null_map_data, selector);
150
103
        }
151
162
    }
_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
56
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
56
        auto& result_data = data;
139
56
        const auto& from_data = from.data;
140
141
56
        auto* result_null_map_data = null_map;
142
56
        const auto* from_null_map_data = from.null_map;
143
144
56
        if (from.is_const) {
145
1
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
1
                                     from_null_map_data, selector);
147
55
        } else {
148
55
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
55
                                      from_null_map_data, selector);
150
55
        }
151
56
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
30
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
30
        auto& result_data = data;
139
30
        const auto& from_data = from.data;
140
141
30
        auto* result_null_map_data = null_map;
142
30
        const auto* from_null_map_data = from.null_map;
143
144
30
        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
30
        } else {
148
30
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
30
                                      from_null_map_data, selector);
150
30
        }
151
30
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
4
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
4
        auto& result_data = data;
139
4
        const auto& from_data = from.data;
140
141
4
        auto* result_null_map_data = null_map;
142
4
        const auto* from_null_map_data = from.null_map;
143
144
4
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
2
        } else {
148
2
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
2
                                      from_null_map_data, selector);
150
2
        }
151
4
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
6.37k
                                   const Selector& selector) {
157
6.37k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6.37k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.93k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.93k
        }
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.37k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
268
                                   const Selector& selector) {
157
268
        insert_with_selector<is_const>(result_data, from_data, selector);
158
268
        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
268
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.84k
                                   const Selector& selector) {
157
1.84k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.84k
        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.84k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.43k
                                   const Selector& selector) {
157
1.43k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.43k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
26
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
26
        }
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.43k
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
12
                                   const Selector& selector) {
157
12
        insert_with_selector<is_const>(result_data, from_data, selector);
158
12
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
12
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
12
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
387
                                   const Selector& selector) {
157
387
        insert_with_selector<is_const>(result_data, from_data, selector);
158
387
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
337
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
337
        }
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
387
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
1.57k
                                   const Selector& selector) {
157
1.57k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1.57k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.21k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.21k
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1.57k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
70
                                   const Selector& selector) {
157
70
        insert_with_selector<is_const>(result_data, from_data, selector);
158
70
        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
70
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
263
                                   const Selector& selector) {
157
263
        insert_with_selector<is_const>(result_data, from_data, selector);
158
263
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
46
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
46
        }
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
263
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
35
                                   const Selector& selector) {
157
35
        insert_with_selector<is_const>(result_data, from_data, selector);
158
35
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
7
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
7
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
35
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
137
                                   const Selector& selector) {
157
137
        insert_with_selector<is_const>(result_data, from_data, selector);
158
137
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
91
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
91
        }
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
137
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
1
                                   const Selector& selector) {
157
1
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
27
                                   const Selector& selector) {
157
27
        insert_with_selector<is_const>(result_data, from_data, selector);
158
27
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
27
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
27
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
27
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
11
                                   const Selector& selector) {
157
11
        insert_with_selector<is_const>(result_data, from_data, selector);
158
11
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
9
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
9
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
38
                                   const Selector& selector) {
157
38
        insert_with_selector<is_const>(result_data, from_data, selector);
158
38
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
21
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
21
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
38
    }
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
59
                                   const Selector& selector) {
157
59
        insert_with_selector<is_const>(result_data, from_data, selector);
158
59
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
16
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
16
        }
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
59
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
103
                                   const Selector& selector) {
157
103
        insert_with_selector<is_const>(result_data, from_data, selector);
158
103
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
60
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
60
        }
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
103
    }
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
1
                                   const Selector& selector) {
157
1
        insert_with_selector<is_const>(result_data, from_data, selector);
158
1
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
55
                                   const Selector& selector) {
157
55
        insert_with_selector<is_const>(result_data, from_data, selector);
158
55
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
7
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
7
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
55
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
30
                                   const Selector& selector) {
157
30
        insert_with_selector<is_const>(result_data, from_data, selector);
158
30
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
30
    }
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
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
8.30k
                                     const Selector& selector) {
169
10.1M
        for (size_t i = 0; i < selector.size(); ++i) {
170
10.1M
            auto index = selector[i];
171
10.1M
            result_data[index] = data[index_check_const<is_const>(i)];
172
10.1M
        }
173
8.30k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4
                                     const Selector& selector) {
169
10
        for (size_t i = 0; i < selector.size(); ++i) {
170
6
            auto index = selector[i];
171
6
            result_data[index] = data[index_check_const<is_const>(i)];
172
6
        }
173
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
270
                                     const Selector& selector) {
169
1.15k
        for (size_t i = 0; i < selector.size(); ++i) {
170
883
            auto index = selector[i];
171
883
            result_data[index] = data[index_check_const<is_const>(i)];
172
883
        }
173
270
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.84k
                                     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.84k
    }
_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.43k
                                     const Selector& selector) {
169
1.49k
        for (size_t i = 0; i < selector.size(); ++i) {
170
62
            auto index = selector[i];
171
62
            result_data[index] = data[index_check_const<is_const>(i)];
172
62
        }
173
1.43k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
26
                                     const Selector& selector) {
169
72
        for (size_t i = 0; i < selector.size(); ++i) {
170
46
            auto index = selector[i];
171
46
            result_data[index] = data[index_check_const<is_const>(i)];
172
46
        }
173
26
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
12
                                     const Selector& selector) {
169
42
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
387
                                     const Selector& selector) {
169
1.56k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.17k
            auto index = selector[i];
171
1.17k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.17k
        }
173
387
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
337
                                     const Selector& selector) {
169
1.43k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.09k
            auto index = selector[i];
171
1.09k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.09k
        }
173
337
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.57k
                                     const Selector& selector) {
169
4.35k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.77k
            auto index = selector[i];
171
2.77k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.77k
        }
173
1.57k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1.21k
                                     const Selector& selector) {
169
3.01k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.79k
            auto index = selector[i];
171
1.79k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.79k
        }
173
1.21k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
70
                                     const Selector& selector) {
169
269
        for (size_t i = 0; i < selector.size(); ++i) {
170
199
            auto index = selector[i];
171
199
            result_data[index] = data[index_check_const<is_const>(i)];
172
199
        }
173
70
    }
_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
263
                                     const Selector& selector) {
169
985
        for (size_t i = 0; i < selector.size(); ++i) {
170
722
            auto index = selector[i];
171
722
            result_data[index] = data[index_check_const<is_const>(i)];
172
722
        }
173
263
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
46
                                     const Selector& selector) {
169
120
        for (size_t i = 0; i < selector.size(); ++i) {
170
74
            auto index = selector[i];
171
74
            result_data[index] = data[index_check_const<is_const>(i)];
172
74
        }
173
46
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
21
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
35
                                     const Selector& selector) {
169
6.47k
        for (size_t i = 0; i < selector.size(); ++i) {
170
6.43k
            auto index = selector[i];
171
6.43k
            result_data[index] = data[index_check_const<is_const>(i)];
172
6.43k
        }
173
35
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
14
        for (size_t i = 0; i < selector.size(); ++i) {
170
7
            auto index = selector[i];
171
7
            result_data[index] = data[index_check_const<is_const>(i)];
172
7
        }
173
7
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
137
                                     const Selector& selector) {
169
1.50k
        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
137
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
91
                                     const Selector& selector) {
169
1.41k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.32k
            auto index = selector[i];
171
1.32k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.32k
        }
173
91
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
2
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
27
                                     const Selector& selector) {
169
75
        for (size_t i = 0; i < selector.size(); ++i) {
170
48
            auto index = selector[i];
171
48
            result_data[index] = data[index_check_const<is_const>(i)];
172
48
        }
173
27
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
27
                                     const Selector& selector) {
169
75
        for (size_t i = 0; i < selector.size(); ++i) {
170
48
            auto index = selector[i];
171
48
            result_data[index] = data[index_check_const<is_const>(i)];
172
48
        }
173
27
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
27
        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
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
9
                                     const Selector& selector) {
169
22
        for (size_t i = 0; i < selector.size(); ++i) {
170
13
            auto index = selector[i];
171
13
            result_data[index] = data[index_check_const<is_const>(i)];
172
13
        }
173
9
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
38
                                     const Selector& selector) {
169
101
        for (size_t i = 0; i < selector.size(); ++i) {
170
63
            auto index = selector[i];
171
63
            result_data[index] = data[index_check_const<is_const>(i)];
172
63
        }
173
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
21
                                     const Selector& selector) {
169
45
        for (size_t i = 0; i < selector.size(); ++i) {
170
24
            auto index = selector[i];
171
24
            result_data[index] = data[index_check_const<is_const>(i)];
172
24
        }
173
21
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_14DecimalV2ValueEEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
59
                                     const Selector& selector) {
169
20.2k
        for (size_t i = 0; i < selector.size(); ++i) {
170
20.2k
            auto index = selector[i];
171
20.2k
            result_data[index] = data[index_check_const<is_const>(i)];
172
20.2k
        }
173
59
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
16
                                     const Selector& selector) {
169
36
        for (size_t i = 0; i < selector.size(); ++i) {
170
20
            auto index = selector[i];
171
20
            result_data[index] = data[index_check_const<is_const>(i)];
172
20
        }
173
16
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
103
                                     const Selector& selector) {
169
3.88k
        for (size_t i = 0; i < selector.size(); ++i) {
170
3.77k
            auto index = selector[i];
171
3.77k
            result_data[index] = data[index_check_const<is_const>(i)];
172
3.77k
        }
173
103
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
60
                                     const Selector& selector) {
169
108
        for (size_t i = 0; i < selector.size(); ++i) {
170
48
            auto index = selector[i];
171
48
            result_data[index] = data[index_check_const<is_const>(i)];
172
48
        }
173
60
    }
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
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_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
55
                                     const Selector& selector) {
169
120
        for (size_t i = 0; i < selector.size(); ++i) {
170
65
            auto index = selector[i];
171
65
            result_data[index] = data[index_check_const<is_const>(i)];
172
65
        }
173
55
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
7
                                     const Selector& selector) {
169
22
        for (size_t i = 0; i < selector.size(); ++i) {
170
15
            auto index = selector[i];
171
15
            result_data[index] = data[index_check_const<is_const>(i)];
172
15
        }
173
7
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
30
                                     const Selector& selector) {
169
81
        for (size_t i = 0; i < selector.size(); ++i) {
170
51
            auto index = selector[i];
171
51
            result_data[index] = data[index_check_const<is_const>(i)];
172
51
        }
173
30
    }
_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
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
106
        for (size_t i = 0; i < selector.size(); ++i) {
170
104
            auto index = selector[i];
171
104
            result_data[index] = data[index_check_const<is_const>(i)];
172
104
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
106
        for (size_t i = 0; i < selector.size(); ++i) {
170
104
            auto index = selector[i];
171
104
            result_data[index] = data[index_check_const<is_const>(i)];
172
104
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
9.89k
        for (size_t i = 0; i < selector.size(); ++i) {
170
9.89k
            auto index = selector[i];
171
9.89k
            result_data[index] = data[index_check_const<is_const>(i)];
172
9.89k
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
9.89k
        for (size_t i = 0; i < selector.size(); ++i) {
170
9.89k
            auto index = selector[i];
171
9.89k
            result_data[index] = data[index_check_const<is_const>(i)];
172
9.89k
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
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
396
    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.99k
                          const Selector& false_selector, size_t count) {
230
2.99k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2.99k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2.99k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2.99k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2.99k
        auto result_column = result_type->create_column();
236
237
2.99k
        MutableColumnNullViewScalar<PType> result_column_view =
238
2.99k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2.99k
        init_result_column(result_column_view, count);
240
241
2.99k
        ColumnNullConstViewScalar<PType> true_column_view =
242
2.99k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2.99k
        ColumnNullConstViewScalar<PType> false_column_view =
244
2.99k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2.99k
        result_column_view.insert_from(true_column_view, true_selector);
247
2.99k
        result_column_view.insert_from(false_column_view, false_selector);
248
2.99k
        DCHECK_EQ(result_column->size(), count);
249
2.99k
        return result_column;
250
2.99k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
135
                          const Selector& false_selector, size_t count) {
230
135
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
135
        DCHECK_EQ(true_column->size(), true_selector.size());
232
135
        DCHECK_EQ(false_column->size(), false_selector.size());
233
135
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
135
        auto result_column = result_type->create_column();
236
237
135
        MutableColumnNullViewScalar<PType> result_column_view =
238
135
                MutableColumnNullViewScalar<PType>::create(result_column);
239
135
        init_result_column(result_column_view, count);
240
241
135
        ColumnNullConstViewScalar<PType> true_column_view =
242
135
                ColumnNullConstViewScalar<PType>::create(true_column);
243
135
        ColumnNullConstViewScalar<PType> false_column_view =
244
135
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
135
        result_column_view.insert_from(true_column_view, true_selector);
247
135
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
135
        return result_column;
250
135
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1.61k
                          const Selector& false_selector, size_t count) {
230
1.61k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1.61k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1.61k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1.61k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1.61k
        auto result_column = result_type->create_column();
236
237
1.61k
        MutableColumnNullViewScalar<PType> result_column_view =
238
1.61k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1.61k
        init_result_column(result_column_view, count);
240
241
1.61k
        ColumnNullConstViewScalar<PType> true_column_view =
242
1.61k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1.61k
        ColumnNullConstViewScalar<PType> false_column_view =
244
1.61k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1.61k
        result_column_view.insert_from(true_column_view, true_selector);
247
1.61k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1.61k
        return result_column;
250
1.61k
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
905
                          const Selector& false_selector, size_t count) {
230
905
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
905
        DCHECK_EQ(true_column->size(), true_selector.size());
232
905
        DCHECK_EQ(false_column->size(), false_selector.size());
233
905
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
905
        auto result_column = result_type->create_column();
236
237
905
        MutableColumnNullViewScalar<PType> result_column_view =
238
905
                MutableColumnNullViewScalar<PType>::create(result_column);
239
905
        init_result_column(result_column_view, count);
240
241
905
        ColumnNullConstViewScalar<PType> true_column_view =
242
905
                ColumnNullConstViewScalar<PType>::create(true_column);
243
905
        ColumnNullConstViewScalar<PType> false_column_view =
244
905
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
905
        result_column_view.insert_from(true_column_view, true_selector);
247
905
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
905
        return result_column;
250
905
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
133
                          const Selector& false_selector, size_t count) {
230
133
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
133
        DCHECK_EQ(true_column->size(), true_selector.size());
232
133
        DCHECK_EQ(false_column->size(), false_selector.size());
233
133
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
133
        auto result_column = result_type->create_column();
236
237
133
        MutableColumnNullViewScalar<PType> result_column_view =
238
133
                MutableColumnNullViewScalar<PType>::create(result_column);
239
133
        init_result_column(result_column_view, count);
240
241
133
        ColumnNullConstViewScalar<PType> true_column_view =
242
133
                ColumnNullConstViewScalar<PType>::create(true_column);
243
133
        ColumnNullConstViewScalar<PType> false_column_view =
244
133
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
133
        result_column_view.insert_from(true_column_view, true_selector);
247
133
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
133
        return result_column;
250
133
    }
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
64
                          const Selector& false_selector, size_t count) {
230
64
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
64
        DCHECK_EQ(true_column->size(), true_selector.size());
232
64
        DCHECK_EQ(false_column->size(), false_selector.size());
233
64
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
64
        auto result_column = result_type->create_column();
236
237
64
        MutableColumnNullViewScalar<PType> result_column_view =
238
64
                MutableColumnNullViewScalar<PType>::create(result_column);
239
64
        init_result_column(result_column_view, count);
240
241
64
        ColumnNullConstViewScalar<PType> true_column_view =
242
64
                ColumnNullConstViewScalar<PType>::create(true_column);
243
64
        ColumnNullConstViewScalar<PType> false_column_view =
244
64
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
64
        result_column_view.insert_from(true_column_view, true_selector);
247
64
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
64
        return result_column;
250
64
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
11
                          const Selector& false_selector, size_t count) {
230
11
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
11
        DCHECK_EQ(true_column->size(), true_selector.size());
232
11
        DCHECK_EQ(false_column->size(), false_selector.size());
233
11
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
11
        auto result_column = result_type->create_column();
236
237
11
        MutableColumnNullViewScalar<PType> result_column_view =
238
11
                MutableColumnNullViewScalar<PType>::create(result_column);
239
11
        init_result_column(result_column_view, count);
240
241
11
        ColumnNullConstViewScalar<PType> true_column_view =
242
11
                ColumnNullConstViewScalar<PType>::create(true_column);
243
11
        ColumnNullConstViewScalar<PType> false_column_view =
244
11
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
11
        result_column_view.insert_from(true_column_view, true_selector);
247
11
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
11
        return result_column;
250
11
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
21
                          const Selector& false_selector, size_t count) {
230
21
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
21
        DCHECK_EQ(true_column->size(), true_selector.size());
232
21
        DCHECK_EQ(false_column->size(), false_selector.size());
233
21
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
21
        auto result_column = result_type->create_column();
236
237
21
        MutableColumnNullViewScalar<PType> result_column_view =
238
21
                MutableColumnNullViewScalar<PType>::create(result_column);
239
21
        init_result_column(result_column_view, count);
240
241
21
        ColumnNullConstViewScalar<PType> true_column_view =
242
21
                ColumnNullConstViewScalar<PType>::create(true_column);
243
21
        ColumnNullConstViewScalar<PType> false_column_view =
244
21
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
21
        result_column_view.insert_from(true_column_view, true_selector);
247
21
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
21
        return result_column;
250
21
    }
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
79
                          const Selector& false_selector, size_t count) {
230
79
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
79
        DCHECK_EQ(true_column->size(), true_selector.size());
232
79
        DCHECK_EQ(false_column->size(), false_selector.size());
233
79
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
79
        auto result_column = result_type->create_column();
236
237
79
        MutableColumnNullViewScalar<PType> result_column_view =
238
79
                MutableColumnNullViewScalar<PType>::create(result_column);
239
79
        init_result_column(result_column_view, count);
240
241
79
        ColumnNullConstViewScalar<PType> true_column_view =
242
79
                ColumnNullConstViewScalar<PType>::create(true_column);
243
79
        ColumnNullConstViewScalar<PType> false_column_view =
244
79
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
79
        result_column_view.insert_from(true_column_view, true_selector);
247
79
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
79
        return result_column;
250
79
    }
_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
25
                          const Selector& false_selector, size_t count) {
230
25
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
25
        DCHECK_EQ(true_column->size(), true_selector.size());
232
25
        DCHECK_EQ(false_column->size(), false_selector.size());
233
25
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
25
        auto result_column = result_type->create_column();
236
237
25
        MutableColumnNullViewScalar<PType> result_column_view =
238
25
                MutableColumnNullViewScalar<PType>::create(result_column);
239
25
        init_result_column(result_column_view, count);
240
241
25
        ColumnNullConstViewScalar<PType> true_column_view =
242
25
                ColumnNullConstViewScalar<PType>::create(true_column);
243
25
        ColumnNullConstViewScalar<PType> false_column_view =
244
25
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
25
        result_column_view.insert_from(true_column_view, true_selector);
247
25
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
25
        return result_column;
250
25
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
8
                          const Selector& false_selector, size_t count) {
230
8
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
8
        DCHECK_EQ(true_column->size(), true_selector.size());
232
8
        DCHECK_EQ(false_column->size(), false_selector.size());
233
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
8
        auto result_column = result_type->create_column();
236
237
8
        MutableColumnNullViewScalar<PType> result_column_view =
238
8
                MutableColumnNullViewScalar<PType>::create(result_column);
239
8
        init_result_column(result_column_view, count);
240
241
8
        ColumnNullConstViewScalar<PType> true_column_view =
242
8
                ColumnNullConstViewScalar<PType>::create(true_column);
243
8
        ColumnNullConstViewScalar<PType> false_column_view =
244
8
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
8
        result_column_view.insert_from(true_column_view, true_selector);
247
8
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
8
        return result_column;
250
8
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
2
                          const Selector& false_selector, size_t count) {
230
2
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
2
        DCHECK_EQ(true_column->size(), true_selector.size());
232
2
        DCHECK_EQ(false_column->size(), false_selector.size());
233
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
2
        auto result_column = result_type->create_column();
236
237
2
        MutableColumnNullViewScalar<PType> result_column_view =
238
2
                MutableColumnNullViewScalar<PType>::create(result_column);
239
2
        init_result_column(result_column_view, count);
240
241
2
        ColumnNullConstViewScalar<PType> true_column_view =
242
2
                ColumnNullConstViewScalar<PType>::create(true_column);
243
2
        ColumnNullConstViewScalar<PType> false_column_view =
244
2
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
2
        result_column_view.insert_from(true_column_view, true_selector);
247
2
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
2
        return result_column;
250
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
227
                          size_t count) {
255
227
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
227
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
227
                                             return sum + cs.selector.size();
258
227
                                         }));
259
227
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
227
        auto result_column = result_type->create_column();
261
262
227
        MutableColumnNullViewScalar<PType> result_column_view =
263
227
                MutableColumnNullViewScalar<PType>::create(result_column);
264
227
        init_result_column(result_column_view, count);
265
266
391
        for (const auto& columns_and_selector : columns_and_selectors) {
267
391
            if (columns_and_selector.output_nulls()) {
268
21
                result_column_view.insert_null(columns_and_selector.selector);
269
370
            } else {
270
370
                ColumnNullConstViewScalar<PType> from_column_view =
271
370
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
370
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
370
            }
274
391
        }
275
227
        DCHECK_EQ(result_column->size(), count);
276
227
        return result_column;
277
227
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
25
                          size_t count) {
255
25
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
25
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
25
                                             return sum + cs.selector.size();
258
25
                                         }));
259
25
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
25
        auto result_column = result_type->create_column();
261
262
25
        MutableColumnNullViewScalar<PType> result_column_view =
263
25
                MutableColumnNullViewScalar<PType>::create(result_column);
264
25
        init_result_column(result_column_view, count);
265
266
53
        for (const auto& columns_and_selector : columns_and_selectors) {
267
53
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
51
            } else {
270
51
                ColumnNullConstViewScalar<PType> from_column_view =
271
51
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
51
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
51
            }
274
53
        }
275
        DCHECK_EQ(result_column->size(), count);
276
25
        return result_column;
277
25
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
10
                          size_t count) {
255
10
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
10
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
10
                                             return sum + cs.selector.size();
258
10
                                         }));
259
10
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
10
        auto result_column = result_type->create_column();
261
262
10
        MutableColumnNullViewScalar<PType> result_column_view =
263
10
                MutableColumnNullViewScalar<PType>::create(result_column);
264
10
        init_result_column(result_column_view, count);
265
266
14
        for (const auto& columns_and_selector : columns_and_selectors) {
267
14
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
14
        }
275
        DCHECK_EQ(result_column->size(), count);
276
10
        return result_column;
277
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
94
                          size_t count) {
255
94
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
94
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
94
                                             return sum + cs.selector.size();
258
94
                                         }));
259
94
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
94
        auto result_column = result_type->create_column();
261
262
94
        MutableColumnNullViewScalar<PType> result_column_view =
263
94
                MutableColumnNullViewScalar<PType>::create(result_column);
264
94
        init_result_column(result_column_view, count);
265
266
162
        for (const auto& columns_and_selector : columns_and_selectors) {
267
162
            if (columns_and_selector.output_nulls()) {
268
11
                result_column_view.insert_null(columns_and_selector.selector);
269
151
            } else {
270
151
                ColumnNullConstViewScalar<PType> from_column_view =
271
151
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
151
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
151
            }
274
162
        }
275
        DCHECK_EQ(result_column->size(), count);
276
94
        return result_column;
277
94
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
37
                          size_t count) {
255
37
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
37
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
37
                                             return sum + cs.selector.size();
258
37
                                         }));
259
37
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
37
        auto result_column = result_type->create_column();
261
262
37
        MutableColumnNullViewScalar<PType> result_column_view =
263
37
                MutableColumnNullViewScalar<PType>::create(result_column);
264
37
        init_result_column(result_column_view, count);
265
266
68
        for (const auto& columns_and_selector : columns_and_selectors) {
267
68
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
67
            } else {
270
67
                ColumnNullConstViewScalar<PType> from_column_view =
271
67
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
67
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
67
            }
274
68
        }
275
        DCHECK_EQ(result_column->size(), count);
276
37
        return result_column;
277
37
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
5
                          size_t count) {
255
5
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
5
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
5
                                             return sum + cs.selector.size();
258
5
                                         }));
259
5
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
5
        auto result_column = result_type->create_column();
261
262
5
        MutableColumnNullViewScalar<PType> result_column_view =
263
5
                MutableColumnNullViewScalar<PType>::create(result_column);
264
5
        init_result_column(result_column_view, count);
265
266
7
        for (const auto& columns_and_selector : columns_and_selectors) {
267
7
            if (columns_and_selector.output_nulls()) {
268
1
                result_column_view.insert_null(columns_and_selector.selector);
269
6
            } else {
270
6
                ColumnNullConstViewScalar<PType> from_column_view =
271
6
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
6
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
6
            }
274
7
        }
275
        DCHECK_EQ(result_column->size(), count);
276
5
        return result_column;
277
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
22
                          size_t count) {
255
22
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
22
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
22
                                             return sum + cs.selector.size();
258
22
                                         }));
259
22
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
22
        auto result_column = result_type->create_column();
261
262
22
        MutableColumnNullViewScalar<PType> result_column_view =
263
22
                MutableColumnNullViewScalar<PType>::create(result_column);
264
22
        init_result_column(result_column_view, count);
265
266
45
        for (const auto& columns_and_selector : columns_and_selectors) {
267
45
            if (columns_and_selector.output_nulls()) {
268
1
                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
45
        }
275
        DCHECK_EQ(result_column->size(), count);
276
22
        return result_column;
277
22
    }
_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
3
                          size_t count) {
255
3
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
3
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
3
                                             return sum + cs.selector.size();
258
3
                                         }));
259
3
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
3
        auto result_column = result_type->create_column();
261
262
3
        MutableColumnNullViewScalar<PType> result_column_view =
263
3
                MutableColumnNullViewScalar<PType>::create(result_column);
264
3
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
3
        return result_column;
277
3
    }
_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
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_13PrimitiveTypeE26EE4fillERKSt10shared_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
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
12
        return result_column;
277
12
    }
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
3.22k
                                   size_t count) {
283
3.22k
        result_column_view.data.resize(count);
284
3.22k
        if (result_column_view.null_map != nullptr) {
285
1.06k
            result_column_view.null_map->resize_fill(count, 0);
286
1.06k
        }
287
3.22k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
135
                                   size_t count) {
283
135
        result_column_view.data.resize(count);
284
135
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
135
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
1.63k
                                   size_t count) {
283
1.63k
        result_column_view.data.resize(count);
284
1.63k
        if (result_column_view.null_map != nullptr) {
285
24
            result_column_view.null_map->resize_fill(count, 0);
286
24
        }
287
1.63k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
999
                                   size_t count) {
283
999
        result_column_view.data.resize(count);
284
999
        if (result_column_view.null_map != nullptr) {
285
815
            result_column_view.null_map->resize_fill(count, 0);
286
815
        }
287
999
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
170
                                   size_t count) {
283
170
        result_column_view.data.resize(count);
284
170
        if (result_column_view.null_map != nullptr) {
285
38
            result_column_view.null_map->resize_fill(count, 0);
286
38
        }
287
170
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
Line
Count
Source
282
5
                                   size_t count) {
283
5
        result_column_view.data.resize(count);
284
5
        if (result_column_view.null_map != nullptr) {
285
5
            result_column_view.null_map->resize_fill(count, 0);
286
5
        }
287
5
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
86
                                   size_t count) {
283
86
        result_column_view.data.resize(count);
284
86
        if (result_column_view.null_map != nullptr) {
285
71
            result_column_view.null_map->resize_fill(count, 0);
286
71
        }
287
86
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
16
                                   size_t count) {
283
16
        result_column_view.data.resize(count);
284
16
        if (result_column_view.null_map != nullptr) {
285
16
            result_column_view.null_map->resize_fill(count, 0);
286
16
        }
287
16
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
28
                                   size_t count) {
283
28
        result_column_view.data.resize(count);
284
28
        if (result_column_view.null_map != nullptr) {
285
16
            result_column_view.null_map->resize_fill(count, 0);
286
16
        }
287
28
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
82
                                   size_t count) {
283
82
        result_column_view.data.resize(count);
284
82
        if (result_column_view.null_map != nullptr) {
285
39
            result_column_view.null_map->resize_fill(count, 0);
286
39
        }
287
82
    }
_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
30
                                   size_t count) {
283
30
        result_column_view.data.resize(count);
284
30
        if (result_column_view.null_map != nullptr) {
285
6
            result_column_view.null_map->resize_fill(count, 0);
286
6
        }
287
30
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
20
                                   size_t count) {
283
20
        result_column_view.data.resize(count);
284
20
        if (result_column_view.null_map != nullptr) {
285
13
            result_column_view.null_map->resize_fill(count, 0);
286
13
        }
287
20
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Line
Count
Source
282
2
                                   size_t count) {
283
2
        result_column_view.data.resize(count);
284
2
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
655
                          const Selector& false_selector, size_t count) {
296
655
        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
655
        DCHECK_EQ(true_column->size(), true_selector.size());
301
655
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
655
        auto result_column = result_type->create_column();
304
305
655
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
655
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
655
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
655
        size_t true_index = 0;
310
655
        size_t false_index = 0;
311
10.3k
        for (size_t i = 0; i < count; ++i) {
312
9.66k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
4.44k
                result_column_view.insert_from(true_column_view, true_index++);
314
5.21k
            } else {
315
5.21k
                result_column_view.insert_from(false_column_view, false_index++);
316
5.21k
            }
317
9.66k
        }
318
319
655
        DCHECK_EQ(result_column->size(), count);
320
655
        return result_column;
321
655
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
178
                          size_t count) {
326
178
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
178
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
178
                                             return sum + cs.selector.size();
329
178
                                         }));
330
178
        struct FillColumnWithPos {
331
178
            std::optional<ColumnNullConstView> source_column;
332
178
            size_t pos_in_source; // position in the column
333
334
448
            void insert_to_column(MutableColumnNullView& result_column) const {
335
448
                if (!source_column) {
336
27
                    result_column.insert_null();
337
421
                } else {
338
421
                    result_column.insert_from(*source_column, pos_in_source);
339
421
                }
340
448
            }
341
178
        };
342
343
178
        auto mutable_result_column = result_type->create_column();
344
178
        mutable_result_column->reserve(count);
345
346
178
        MutableColumnNullView mutable_result_column_view =
347
178
                MutableColumnNullView::create(mutable_result_column);
348
349
178
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
935
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
935
            if (column_with_selector.selector.empty()) {
353
645
                continue;
354
645
            }
355
738
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
448
                size_t result_index = column_with_selector.selector[i];
357
448
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
448
                if (column_with_selector.column) {
360
421
                    ColumnNullConstView column_view =
361
421
                            ColumnNullConstView::create(column_with_selector.column);
362
421
                    fill_positions[result_index].source_column.emplace(column_view);
363
421
                    fill_positions[result_index].pos_in_source = i;
364
421
                } else {
365
27
                    fill_positions[result_index].source_column = std::nullopt;
366
27
                }
367
448
            }
368
290
        }
369
370
448
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
448
            fill_pos.insert_to_column(mutable_result_column_view);
372
448
        }
373
374
178
        DCHECK_EQ(mutable_result_column->size(), count);
375
178
        return mutable_result_column;
376
178
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
4.87k
            : _selector(selector), _count(count) {}
382
383
    // Iterate over the condition column and generate true_selector and false_selector
384
    // based on null_map and data.
385
386
    template <bool is_const, typename Func>
387
4.86k
    void for_each_with_selector(Func& f) const {
388
4.86k
        if (_selector != nullptr) {
389
995
            const auto& selector_data = *_selector;
390
2.96k
            for (size_t i = 0; i < _count; ++i) {
391
1.96k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.96k
            }
393
3.87k
        } else {
394
10.1M
            for (size_t i = 0; i < _count; ++i) {
395
10.1M
                f(index_check_const<is_const>(i), i, i);
396
10.1M
            }
397
3.87k
        }
398
4.86k
    }
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
19
    void for_each_with_selector(Func& f) const {
388
19
        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
17
        } else {
394
34
            for (size_t i = 0; i < _count; ++i) {
395
17
                f(index_check_const<is_const>(i), i, i);
396
17
            }
397
17
        }
398
19
    }
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
395
    void for_each_with_selector(Func& f) const {
388
395
        if (_selector != nullptr) {
389
50
            const auto& selector_data = *_selector;
390
160
            for (size_t i = 0; i < _count; ++i) {
391
110
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
110
            }
393
345
        } else {
394
25.5k
            for (size_t i = 0; i < _count; ++i) {
395
25.2k
                f(index_check_const<is_const>(i), i, i);
396
25.2k
            }
397
345
        }
398
395
    }
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
103
    void for_each_with_selector(Func& f) const {
388
103
        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
103
        } else {
394
382
            for (size_t i = 0; i < _count; ++i) {
395
279
                f(index_check_const<is_const>(i), i, i);
396
279
            }
397
103
        }
398
103
    }
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.62k
    void for_each_with_selector(Func& f) const {
388
2.62k
        if (_selector != nullptr) {
389
46
            const auto& selector_data = *_selector;
390
140
            for (size_t i = 0; i < _count; ++i) {
391
94
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
94
            }
393
2.58k
        } else {
394
10.1M
            for (size_t i = 0; i < _count; ++i) {
395
10.1M
                f(index_check_const<is_const>(i), i, i);
396
10.1M
            }
397
2.58k
        }
398
2.62k
    }
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
78
    void for_each_with_selector(Func& f) const {
388
78
        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
78
        } else {
394
331
            for (size_t i = 0; i < _count; ++i) {
395
253
                f(index_check_const<is_const>(i), i, i);
396
253
            }
397
78
        }
398
78
    }
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
54
    void for_each_with_selector(Func& f) const {
388
54
        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
36
        } else {
394
149
            for (size_t i = 0; i < _count; ++i) {
395
113
                f(index_check_const<is_const>(i), i, i);
396
113
            }
397
36
        }
398
54
    }
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
151
    void for_each_with_selector(Func& f) const {
388
151
        if (_selector != nullptr) {
389
151
            const auto& selector_data = *_selector;
390
516
            for (size_t i = 0; i < _count; ++i) {
391
365
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
365
            }
393
151
        } 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
151
    }
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
533
    void for_each_with_selector(Func& f) const {
388
533
        if (_selector != nullptr) {
389
533
            const auto& selector_data = *_selector;
390
1.61k
            for (size_t i = 0; i < _count; ++i) {
391
1.07k
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1.07k
            }
393
533
        } 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
533
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
4
    void for_each_with_selector(Func& f) const {
388
4
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
4
            for (size_t i = 0; i < _count; ++i) {
395
2
                f(index_check_const<is_const>(i), i, i);
396
2
            }
397
2
        }
398
4
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_E3$_0ZNS_23execute_ifnull_selectorESA_SH_mSI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
500
    void for_each_with_selector(Func& f) const {
388
500
        if (_selector != nullptr) {
389
42
            const auto& selector_data = *_selector;
390
120
            for (size_t i = 0; i < _count; ++i) {
391
78
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
78
            }
393
458
        } else {
394
3.00k
            for (size_t i = 0; i < _count; ++i) {
395
2.54k
                f(index_check_const<is_const>(i), i, i);
396
2.54k
            }
397
458
        }
398
500
    }
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
254
    void for_each_with_selector(Func& f) const {
388
254
        if (_selector != nullptr) {
389
13
            const auto& selector_data = *_selector;
390
32
            for (size_t i = 0; i < _count; ++i) {
391
19
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
19
            }
393
241
        } else {
394
805
            for (size_t i = 0; i < _count; ++i) {
395
564
                f(index_check_const<is_const>(i), i, i);
396
564
            }
397
241
        }
398
254
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
2
    void for_each_with_selector(Func& f) const {
388
2
        if (_selector != nullptr) {
389
2
            const auto& selector_data = *_selector;
390
4
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
2
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
2
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
67
    void for_each_with_selector(Func& f) const {
388
67
        if (_selector != nullptr) {
389
67
            const auto& selector_data = *_selector;
390
150
            for (size_t i = 0; i < _count; ++i) {
391
83
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
83
            }
393
67
        } 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
67
    }
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
112
            for (size_t i = 0; i < _count; ++i) {
391
63
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
63
            }
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
3
    void for_each_with_selector(Func& f) const {
388
3
        if (_selector != nullptr) {
389
3
            const auto& selector_data = *_selector;
390
6
            for (size_t i = 0; i < _count; ++i) {
391
3
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
3
            }
393
3
        } 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
3
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
3.98k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
3.98k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
3.98k
                                      size_t count) {
415
3.98k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
3.98k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
3.98k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
3.98k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.98k
        if (this->null_map != nullptr) {
422
663
            const auto& null_map_data = *(this->null_map);
423
26.0k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
26.0k
                if (null_map_data[i]) {
425
197
                    null_func(self_index, executor_index);
426
25.8k
                } else {
427
25.8k
                    if (this->data[i]) {
428
4.99k
                        true_func(self_index, executor_index);
429
20.8k
                    } else {
430
20.8k
                        false_func(self_index, executor_index);
431
20.8k
                    }
432
25.8k
                }
433
26.0k
            };
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
25.3k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
25.3k
                if (null_map_data[i]) {
425
96
                    null_func(self_index, executor_index);
426
25.2k
                } else {
427
25.2k
                    if (this->data[i]) {
428
4.75k
                        true_func(self_index, executor_index);
429
20.5k
                    } else {
430
20.5k
                        false_func(self_index, executor_index);
431
20.5k
                    }
432
25.2k
                }
433
25.3k
            };
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
265
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
265
                if (null_map_data[i]) {
425
50
                    null_func(self_index, executor_index);
426
215
                } else {
427
215
                    if (this->data[i]) {
428
93
                        true_func(self_index, executor_index);
429
122
                    } else {
430
122
                        false_func(self_index, executor_index);
431
122
                    }
432
215
                }
433
265
            };
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
390
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
390
                if (null_map_data[i]) {
425
51
                    null_func(self_index, executor_index);
426
339
                } else {
427
339
                    if (this->data[i]) {
428
151
                        true_func(self_index, executor_index);
429
188
                    } else {
430
188
                        false_func(self_index, executor_index);
431
188
                    }
432
339
                }
433
390
            };
434
663
            if (is_const) {
435
40
                for_each_with_selector<true>(update);
436
623
            } else {
437
623
                for_each_with_selector<false>(update);
438
623
            }
439
3.31k
        } else {
440
            // non-nullable condition column
441
10.1M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.1M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
94.6k
                    false_func(self_index, executor_index);
446
94.6k
                }
447
10.1M
            };
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.1M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
10.1M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
93.4k
                    false_func(self_index, executor_index);
446
93.4k
                }
447
10.1M
            };
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
157
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
157
                if (this->data[i]) {
443
38
                    true_func(self_index, executor_index);
444
119
                } else {
445
119
                    false_func(self_index, executor_index);
446
119
                }
447
157
            };
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.07k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
1.07k
                if (this->data[i]) {
443
17
                    true_func(self_index, executor_index);
444
1.06k
                } else {
445
1.06k
                    false_func(self_index, executor_index);
446
1.06k
                }
447
1.07k
            };
448
3.31k
            if (is_const) {
449
105
                for_each_with_selector<true>(update);
450
3.21k
            } else {
451
3.21k
                for_each_with_selector<false>(update);
452
3.21k
            }
453
3.31k
        }
454
3.98k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_
Line
Count
Source
420
3.14k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
3.14k
        if (this->null_map != nullptr) {
422
414
            const auto& null_map_data = *(this->null_map);
423
414
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
414
                if (null_map_data[i]) {
425
414
                    null_func(self_index, executor_index);
426
414
                } else {
427
414
                    if (this->data[i]) {
428
414
                        true_func(self_index, executor_index);
429
414
                    } else {
430
414
                        false_func(self_index, executor_index);
431
414
                    }
432
414
                }
433
414
            };
434
414
            if (is_const) {
435
19
                for_each_with_selector<true>(update);
436
395
            } else {
437
395
                for_each_with_selector<false>(update);
438
395
            }
439
2.73k
        } else {
440
            // non-nullable condition column
441
2.73k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
2.73k
                if (this->data[i]) {
443
2.73k
                    true_func(self_index, executor_index);
444
2.73k
                } else {
445
2.73k
                    false_func(self_index, executor_index);
446
2.73k
                }
447
2.73k
            };
448
2.73k
            if (is_const) {
449
103
                for_each_with_selector<true>(update);
450
2.62k
            } else {
451
2.62k
                for_each_with_selector<false>(update);
452
2.62k
            }
453
2.73k
        }
454
3.14k
    }
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
140
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
140
        if (this->null_map != nullptr) {
422
84
            const auto& null_map_data = *(this->null_map);
423
84
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
84
                if (null_map_data[i]) {
425
84
                    null_func(self_index, executor_index);
426
84
                } else {
427
84
                    if (this->data[i]) {
428
84
                        true_func(self_index, executor_index);
429
84
                    } else {
430
84
                        false_func(self_index, executor_index);
431
84
                    }
432
84
                }
433
84
            };
434
84
            if (is_const) {
435
6
                for_each_with_selector<true>(update);
436
78
            } else {
437
78
                for_each_with_selector<false>(update);
438
78
            }
439
84
        } else {
440
            // non-nullable condition column
441
56
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
56
                if (this->data[i]) {
443
56
                    true_func(self_index, executor_index);
444
56
                } else {
445
56
                    false_func(self_index, executor_index);
446
56
                }
447
56
            };
448
56
            if (is_const) {
449
2
                for_each_with_selector<true>(update);
450
54
            } else {
451
54
                for_each_with_selector<false>(update);
452
54
            }
453
56
        }
454
140
    }
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
698
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
698
        if (this->null_map != nullptr) {
422
165
            const auto& null_map_data = *(this->null_map);
423
165
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
165
                if (null_map_data[i]) {
425
165
                    null_func(self_index, executor_index);
426
165
                } else {
427
165
                    if (this->data[i]) {
428
165
                        true_func(self_index, executor_index);
429
165
                    } else {
430
165
                        false_func(self_index, executor_index);
431
165
                    }
432
165
                }
433
165
            };
434
165
            if (is_const) {
435
15
                for_each_with_selector<true>(update);
436
150
            } else {
437
150
                for_each_with_selector<false>(update);
438
150
            }
439
533
        } else {
440
            // non-nullable condition column
441
533
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
533
                if (this->data[i]) {
443
533
                    true_func(self_index, executor_index);
444
533
                } else {
445
533
                    false_func(self_index, executor_index);
446
533
                }
447
533
            };
448
533
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
533
            } else {
451
533
                for_each_with_selector<false>(update);
452
533
            }
453
533
        }
454
698
    }
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
888
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
887
                                          size_t count) {
465
887
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
887
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
887
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
884
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
884
        if (this->null_map != nullptr) {
472
832
            const auto& null_map_data = *(this->null_map);
473
3.30k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
3.30k
                if (null_map_data[i]) {
475
330
                    null_func(self_index, executor_index);
476
2.97k
                } else {
477
2.97k
                    not_null_func(self_index, executor_index);
478
2.97k
                }
479
3.30k
            };
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
2.62k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
2.62k
                if (null_map_data[i]) {
475
155
                    null_func(self_index, executor_index);
476
2.47k
                } else {
477
2.47k
                    not_null_func(self_index, executor_index);
478
2.47k
                }
479
2.62k
            };
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
588
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
588
                if (null_map_data[i]) {
475
127
                    null_func(self_index, executor_index);
476
461
                } else {
477
461
                    not_null_func(self_index, executor_index);
478
461
                }
479
588
            };
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
85
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
85
                if (null_map_data[i]) {
475
48
                    null_func(self_index, executor_index);
476
48
                } else {
477
37
                    not_null_func(self_index, executor_index);
478
37
                }
479
85
            };
480
832
            if (is_const) {
481
11
                for_each_with_selector<true>(update);
482
821
            } else {
483
821
                for_each_with_selector<false>(update);
484
821
            }
485
832
        } else {
486
            // non-nullable condition column
487
66
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
66
                not_null_func(self_index, executor_index);
489
66
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
66
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
66
                not_null_func(self_index, executor_index);
489
66
            };
490
52
            if (is_const) {
491
49
                for_each_with_selector<true>(update);
492
49
            } else {
493
3
                for_each_with_selector<false>(update);
494
3
            }
495
52
        }
496
884
    }
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
504
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
504
        if (this->null_map != nullptr) {
472
504
            const auto& null_map_data = *(this->null_map);
473
504
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
504
                if (null_map_data[i]) {
475
504
                    null_func(self_index, executor_index);
476
504
                } else {
477
504
                    not_null_func(self_index, executor_index);
478
504
                }
479
504
            };
480
504
            if (is_const) {
481
4
                for_each_with_selector<true>(update);
482
500
            } else {
483
500
                for_each_with_selector<false>(update);
484
500
            }
485
504
        } 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
504
    }
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
259
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
259
        if (this->null_map != nullptr) {
472
259
            const auto& null_map_data = *(this->null_map);
473
259
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
259
                if (null_map_data[i]) {
475
259
                    null_func(self_index, executor_index);
476
259
                } else {
477
259
                    not_null_func(self_index, executor_index);
478
259
                }
479
259
            };
480
259
            if (is_const) {
481
5
                for_each_with_selector<true>(update);
482
254
            } else {
483
254
                for_each_with_selector<false>(update);
484
254
            }
485
259
        } 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
259
    }
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
121
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
121
        if (this->null_map != nullptr) {
472
69
            const auto& null_map_data = *(this->null_map);
473
69
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
69
                if (null_map_data[i]) {
475
69
                    null_func(self_index, executor_index);
476
69
                } else {
477
69
                    not_null_func(self_index, executor_index);
478
69
                }
479
69
            };
480
69
            if (is_const) {
481
2
                for_each_with_selector<true>(update);
482
67
            } else {
483
67
                for_each_with_selector<false>(update);
484
67
            }
485
69
        } else {
486
            // non-nullable condition column
487
52
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
52
                not_null_func(self_index, executor_index);
489
52
            };
490
52
            if (is_const) {
491
49
                for_each_with_selector<true>(update);
492
49
            } else {
493
3
                for_each_with_selector<false>(update);
494
3
            }
495
52
        }
496
121
    }
497
};
498
499
} // namespace doris