Coverage Report

Created: 2026-03-30 12:42

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.08k
    static ColumnNullConstView create(const ColumnPtr& column_ptr) {
37
2.08k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
38
39
2.08k
        if (const auto* nullable_column =
40
2.08k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
41
1.25k
            return ColumnNullConstView {.column = nullable_column->get_nested_column(),
42
1.25k
                                        .null_map = &nullable_column->get_null_map_data(),
43
1.25k
                                        .is_const = is_const};
44
1.25k
        } else {
45
829
            return ColumnNullConstView {
46
829
                    .column = *from_data_column, .null_map = nullptr, .is_const = is_const};
47
829
        }
48
2.08k
    }
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
17.5k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
17.5k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
17.5k
        const NullMap* null_map = nullptr;
64
17.5k
        const ArrayType* data = nullptr;
65
17.5k
        if (const auto* nullable_column =
66
17.5k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
2.74k
            null_map = &nullable_column->get_null_map_data();
68
2.74k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
2.74k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
14.8k
        } else {
71
14.8k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
14.8k
        }
73
74
17.5k
        return ColumnNullConstViewScalar {
75
17.5k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
17.5k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
6.37k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
6.37k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
6.37k
        const NullMap* null_map = nullptr;
64
6.37k
        const ArrayType* data = nullptr;
65
6.37k
        if (const auto* nullable_column =
66
6.37k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
1.00k
            null_map = &nullable_column->get_null_map_data();
68
1.00k
            const auto& nested_from_column = nullable_column->get_nested_column();
69
1.00k
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
5.37k
        } else {
71
5.37k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
5.37k
        }
73
74
6.37k
        return ColumnNullConstViewScalar {
75
6.37k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
6.37k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
9.20k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
9.20k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
9.20k
        const NullMap* null_map = nullptr;
64
9.20k
        const ArrayType* data = nullptr;
65
9.20k
        if (const auto* nullable_column =
66
9.20k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
423
            null_map = &nullable_column->get_null_map_data();
68
423
            const auto& nested_from_column = nullable_column->get_nested_column();
69
423
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
8.77k
        } else {
71
8.77k
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
8.77k
        }
73
74
9.20k
        return ColumnNullConstViewScalar {
75
9.20k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
9.20k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
22
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
22
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
22
        const NullMap* null_map = nullptr;
64
22
        const ArrayType* data = nullptr;
65
22
        if (const auto* nullable_column =
66
22
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
19
            null_map = &nullable_column->get_null_map_data();
68
19
            const auto& nested_from_column = nullable_column->get_nested_column();
69
19
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
19
        } else {
71
3
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3
        }
73
74
22
        return ColumnNullConstViewScalar {
75
22
                .data = *data, .null_map = null_map, .is_const = is_const};
76
22
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
1.04k
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
1.04k
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
1.04k
        const NullMap* null_map = nullptr;
64
1.04k
        const ArrayType* data = nullptr;
65
1.04k
        if (const auto* nullable_column =
66
1.04k
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
811
            null_map = &nullable_column->get_null_map_data();
68
811
            const auto& nested_from_column = nullable_column->get_nested_column();
69
811
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
811
        } else {
71
234
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
234
        }
73
74
1.04k
        return ColumnNullConstViewScalar {
75
1.04k
                .data = *data, .null_map = null_map, .is_const = is_const};
76
1.04k
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
200
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
200
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
200
        const NullMap* null_map = nullptr;
64
200
        const ArrayType* data = nullptr;
65
200
        if (const auto* nullable_column =
66
200
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
88
            null_map = &nullable_column->get_null_map_data();
68
88
            const auto& nested_from_column = nullable_column->get_nested_column();
69
88
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
112
        } else {
71
112
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
112
        }
73
74
200
        return ColumnNullConstViewScalar {
75
200
                .data = *data, .null_map = null_map, .is_const = is_const};
76
200
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
2
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
2
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
2
        const NullMap* null_map = nullptr;
64
2
        const ArrayType* data = nullptr;
65
2
        if (const auto* nullable_column =
66
2
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
0
            null_map = &nullable_column->get_null_map_data();
68
0
            const auto& nested_from_column = nullable_column->get_nested_column();
69
0
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
2
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
2
        return ColumnNullConstViewScalar {
75
2
                .data = *data, .null_map = null_map, .is_const = is_const};
76
2
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
14
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
14
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
14
        const NullMap* null_map = nullptr;
64
14
        const ArrayType* data = nullptr;
65
14
        if (const auto* nullable_column =
66
14
                    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
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
14
        return ColumnNullConstViewScalar {
75
14
                .data = *data, .null_map = null_map, .is_const = is_const};
76
14
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
122
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
122
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
122
        const NullMap* null_map = nullptr;
64
122
        const ArrayType* data = nullptr;
65
122
        if (const auto* nullable_column =
66
122
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
89
            null_map = &nullable_column->get_null_map_data();
68
89
            const auto& nested_from_column = nullable_column->get_nested_column();
69
89
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
89
        } else {
71
33
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
33
        }
73
74
122
        return ColumnNullConstViewScalar {
75
122
                .data = *data, .null_map = null_map, .is_const = is_const};
76
122
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
42
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
42
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
42
        const NullMap* null_map = nullptr;
64
42
        const ArrayType* data = nullptr;
65
42
        if (const auto* nullable_column =
66
42
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
40
            null_map = &nullable_column->get_null_map_data();
68
40
            const auto& nested_from_column = nullable_column->get_nested_column();
69
40
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
40
        } else {
71
2
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
2
        }
73
74
42
        return ColumnNullConstViewScalar {
75
42
                .data = *data, .null_map = null_map, .is_const = is_const};
76
42
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
174
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
174
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
174
        const NullMap* null_map = nullptr;
64
174
        const ArrayType* data = nullptr;
65
174
        if (const auto* nullable_column =
66
174
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
47
            null_map = &nullable_column->get_null_map_data();
68
47
            const auto& nested_from_column = nullable_column->get_nested_column();
69
47
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
127
        } else {
71
127
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
127
        }
73
74
174
        return ColumnNullConstViewScalar {
75
174
                .data = *data, .null_map = null_map, .is_const = is_const};
76
174
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
201
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
201
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
201
        const NullMap* null_map = nullptr;
64
201
        const ArrayType* data = nullptr;
65
201
        if (const auto* nullable_column =
66
201
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
121
            null_map = &nullable_column->get_null_map_data();
68
121
            const auto& nested_from_column = nullable_column->get_nested_column();
69
121
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
121
        } else {
71
80
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
80
        }
73
74
201
        return ColumnNullConstViewScalar {
75
201
                .data = *data, .null_map = null_map, .is_const = is_const};
76
201
    }
_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
98
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
98
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
98
        const NullMap* null_map = nullptr;
64
98
        const ArrayType* data = nullptr;
65
98
        if (const auto* nullable_column =
66
98
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
34
            null_map = &nullable_column->get_null_map_data();
68
34
            const auto& nested_from_column = nullable_column->get_nested_column();
69
34
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
64
        } else {
71
64
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
64
        }
73
74
98
        return ColumnNullConstViewScalar {
75
98
                .data = *data, .null_map = null_map, .is_const = is_const};
76
98
    }
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
42
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
42
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
42
        const NullMap* null_map = nullptr;
64
42
        const ArrayType* data = nullptr;
65
42
        if (const auto* nullable_column =
66
42
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
39
            null_map = &nullable_column->get_null_map_data();
68
39
            const auto& nested_from_column = nullable_column->get_nested_column();
69
39
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
39
        } else {
71
3
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
3
        }
73
74
42
        return ColumnNullConstViewScalar {
75
42
                .data = *data, .null_map = null_map, .is_const = is_const};
76
42
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
_ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Line
Count
Source
61
16
    static ColumnNullConstViewScalar create(const ColumnPtr& column_ptr) {
62
16
        const auto& [from_data_column, is_const] = unpack_if_const(column_ptr);
63
16
        const NullMap* null_map = nullptr;
64
16
        const ArrayType* data = nullptr;
65
16
        if (const auto* nullable_column =
66
16
                    check_and_get_column<ColumnNullable>(from_data_column.get())) {
67
16
            null_map = &nullable_column->get_null_map_data();
68
16
            const auto& nested_from_column = nullable_column->get_nested_column();
69
16
            data = &(assert_cast<const ColumnType&>(nested_from_column).get_data());
70
16
        } else {
71
0
            data = &(assert_cast<const ColumnType&>(*from_data_column).get_data());
72
0
        }
73
74
16
        return ColumnNullConstViewScalar {
75
16
                .data = *data, .null_map = null_map, .is_const = is_const};
76
16
    }
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris25ColumnNullConstViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EE
77
};
78
79
// Used to store a mutable column along with its null_map.
80
// If the input column is not nullable, then null_map will be nullptr.
81
struct MutableColumnNullView {
82
    IColumn& column;
83
    NullMap* null_map;
84
743
    static MutableColumnNullView create(const MutableColumnPtr& column_ptr) {
85
743
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
86
564
            return MutableColumnNullView {.column = nullable_column->get_nested_column(),
87
564
                                          .null_map = &nullable_column->get_null_map_data()};
88
564
        } else {
89
179
            return MutableColumnNullView {.column = *column_ptr, .null_map = nullptr};
90
179
        }
91
743
    }
92
93
1.86k
    void insert_from(const ColumnNullConstView& from, size_t i) {
94
1.86k
        auto index = index_check_const(i, from.is_const);
95
1.86k
        column.insert_from(from.column, index);
96
1.86k
        if (null_map != nullptr && from.null_map != nullptr) {
97
1.35k
            null_map->push_back((*from.null_map)[index]);
98
1.35k
        } else if (null_map != nullptr) {
99
            // from is not nullable, so insert 0
100
45
            null_map->push_back(0);
101
45
        }
102
1.86k
    }
103
104
12
    void insert_null() {
105
12
        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
12
        column.insert_default();
111
12
        null_map->push_back(1);
112
12
    }
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
5.79k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
5.79k
        ColumnType* data_column = nullptr;
125
5.79k
        NullMap* null_map = nullptr;
126
5.79k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
1.15k
            null_map = &nullable_column->get_null_map_data();
128
1.15k
            auto& nested_column = nullable_column->get_nested_column();
129
1.15k
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
4.64k
        } else {
131
4.64k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
4.64k
        }
133
134
5.79k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
5.79k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
123
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
123
        ColumnType* data_column = nullptr;
125
123
        NullMap* null_map = nullptr;
126
123
        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
121
        } else {
131
121
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
121
        }
133
134
123
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
123
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
4.60k
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
4.60k
        ColumnType* data_column = nullptr;
125
4.60k
        NullMap* null_map = nullptr;
126
4.60k
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
405
            null_map = &nullable_column->get_null_map_data();
128
405
            auto& nested_column = nullable_column->get_nested_column();
129
405
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
4.20k
        } else {
131
4.20k
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
4.20k
        }
133
134
4.60k
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
4.60k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
18
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
18
        ColumnType* data_column = nullptr;
125
18
        NullMap* null_map = nullptr;
126
18
        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
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
18
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
18
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
529
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
529
        ColumnType* data_column = nullptr;
125
529
        NullMap* null_map = nullptr;
126
529
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
441
            null_map = &nullable_column->get_null_map_data();
128
441
            auto& nested_column = nullable_column->get_nested_column();
129
441
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
441
        } else {
131
88
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
88
        }
133
134
529
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
529
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
109
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
109
        ColumnType* data_column = nullptr;
125
109
        NullMap* null_map = nullptr;
126
109
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
42
            null_map = &nullable_column->get_null_map_data();
128
42
            auto& nested_column = nullable_column->get_nested_column();
129
42
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
67
        } else {
131
67
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
67
        }
133
134
109
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
109
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
2
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
2
        ColumnType* data_column = nullptr;
125
2
        NullMap* null_map = nullptr;
126
2
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
0
            null_map = &nullable_column->get_null_map_data();
128
0
            auto& nested_column = nullable_column->get_nested_column();
129
0
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
2
        } else {
131
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
2
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
12
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
12
        ColumnType* data_column = nullptr;
125
12
        NullMap* null_map = nullptr;
126
12
        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
2
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
2
        }
133
134
12
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
12
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
67
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
67
        ColumnType* data_column = nullptr;
125
67
        NullMap* null_map = nullptr;
126
67
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
59
            null_map = &nullable_column->get_null_map_data();
128
59
            auto& nested_column = nullable_column->get_nested_column();
129
59
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
59
        } else {
131
8
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
8
        }
133
134
67
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
67
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
25
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
25
        ColumnType* data_column = nullptr;
125
25
        NullMap* null_map = nullptr;
126
25
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
25
            null_map = &nullable_column->get_null_map_data();
128
25
            auto& nested_column = nullable_column->get_nested_column();
129
25
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
25
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
25
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
25
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
106
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
106
        ColumnType* data_column = nullptr;
125
106
        NullMap* null_map = nullptr;
126
106
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
14
            null_map = &nullable_column->get_null_map_data();
128
14
            auto& nested_column = nullable_column->get_nested_column();
129
14
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
92
        } else {
131
92
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
92
        }
133
134
106
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
106
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
104
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
104
        ColumnType* data_column = nullptr;
125
104
        NullMap* null_map = nullptr;
126
104
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
82
            null_map = &nullable_column->get_null_map_data();
128
82
            auto& nested_column = nullable_column->get_nested_column();
129
82
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
82
        } else {
131
22
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
22
        }
133
134
104
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
104
    }
_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
53
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
53
        ColumnType* data_column = nullptr;
125
53
        NullMap* null_map = nullptr;
126
53
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
20
            null_map = &nullable_column->get_null_map_data();
128
20
            auto& nested_column = nullable_column->get_nested_column();
129
20
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
33
        } else {
131
33
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
33
        }
133
134
53
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
53
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
26
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
26
        ColumnType* data_column = nullptr;
125
26
        NullMap* null_map = nullptr;
126
26
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
23
            null_map = &nullable_column->get_null_map_data();
128
23
            auto& nested_column = nullable_column->get_nested_column();
129
23
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
23
        } else {
131
3
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
3
        }
133
134
26
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
26
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Line
Count
Source
123
10
    static MutableColumnNullViewScalar create(const MutableColumnPtr& column_ptr) {
124
10
        ColumnType* data_column = nullptr;
125
10
        NullMap* null_map = nullptr;
126
10
        if (auto* nullable_column = check_and_get_column<ColumnNullable>(column_ptr.get())) {
127
10
            null_map = &nullable_column->get_null_map_data();
128
10
            auto& nested_column = nullable_column->get_nested_column();
129
10
            data_column = &(assert_cast<ColumnType&>(nested_column));
130
10
        } else {
131
0
            data_column = assert_cast<ColumnType*>(column_ptr.get());
132
0
        }
133
134
10
        return MutableColumnNullViewScalar {.data = data_column->get_data(), .null_map = null_map};
135
10
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE6createERKNS_3COWINS_7IColumnEE11mutable_ptrIS4_EE
136
137
11.4k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
11.4k
        auto& result_data = data;
139
11.4k
        const auto& from_data = from.data;
140
141
11.4k
        auto* result_null_map_data = null_map;
142
11.4k
        const auto* from_null_map_data = from.null_map;
143
144
11.4k
        if (from.is_const) {
145
5.16k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5.16k
                                     from_null_map_data, selector);
147
6.25k
        } else {
148
6.25k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6.25k
                                      from_null_map_data, selector);
150
6.25k
        }
151
11.4k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_2EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
244
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
244
        auto& result_data = data;
139
244
        const auto& from_data = from.data;
140
141
244
        auto* result_null_map_data = null_map;
142
244
        const auto* from_null_map_data = from.null_map;
143
144
244
        if (from.is_const) {
145
4
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4
                                     from_null_map_data, selector);
147
240
        } else {
148
240
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
240
                                      from_null_map_data, selector);
150
240
        }
151
244
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_3EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
9.20k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
9.20k
        auto& result_data = data;
139
9.20k
        const auto& from_data = from.data;
140
141
9.20k
        auto* result_null_map_data = null_map;
142
9.20k
        const auto* from_null_map_data = from.null_map;
143
144
9.20k
        if (from.is_const) {
145
4.60k
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
4.60k
                                     from_null_map_data, selector);
147
4.60k
        } else {
148
4.59k
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
4.59k
                                      from_null_map_data, selector);
150
4.59k
        }
151
9.20k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_4EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
22
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
22
        auto& result_data = data;
139
22
        const auto& from_data = from.data;
140
141
22
        auto* result_null_map_data = null_map;
142
22
        const auto* from_null_map_data = from.null_map;
143
144
22
        if (from.is_const) {
145
5
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
5
                                     from_null_map_data, selector);
147
17
        } else {
148
17
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
17
                                      from_null_map_data, selector);
150
17
        }
151
22
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_5EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
1.04k
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
1.04k
        auto& result_data = data;
139
1.04k
        const auto& from_data = from.data;
140
141
1.04k
        auto* result_null_map_data = null_map;
142
1.04k
        const auto* from_null_map_data = from.null_map;
143
144
1.04k
        if (from.is_const) {
145
363
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
363
                                     from_null_map_data, selector);
147
678
        } else {
148
678
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
678
                                      from_null_map_data, selector);
150
678
        }
151
1.04k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_6EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
200
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
200
        auto& result_data = data;
139
200
        const auto& from_data = from.data;
140
141
200
        auto* result_null_map_data = null_map;
142
200
        const auto* from_null_map_data = from.null_map;
143
144
200
        if (from.is_const) {
145
42
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
42
                                     from_null_map_data, selector);
147
158
        } else {
148
158
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
158
                                      from_null_map_data, selector);
150
158
        }
151
200
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_7EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
2
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
2
        auto& result_data = data;
139
2
        const auto& from_data = from.data;
140
141
2
        auto* result_null_map_data = null_map;
142
2
        const auto* from_null_map_data = from.null_map;
143
144
2
        if (from.is_const) {
145
2
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
2
                                     from_null_map_data, selector);
147
2
        } else {
148
0
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
0
                                      from_null_map_data, selector);
150
0
        }
151
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_8EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
14
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
14
        auto& result_data = data;
139
14
        const auto& from_data = from.data;
140
141
14
        auto* result_null_map_data = null_map;
142
14
        const auto* from_null_map_data = from.null_map;
143
144
14
        if (from.is_const) {
145
3
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
3
                                     from_null_map_data, selector);
147
11
        } else {
148
11
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
11
                                      from_null_map_data, selector);
150
11
        }
151
14
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_9EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
122
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
122
        auto& result_data = data;
139
122
        const auto& from_data = from.data;
140
141
122
        auto* result_null_map_data = null_map;
142
122
        const auto* from_null_map_data = from.null_map;
143
144
122
        if (from.is_const) {
145
30
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
30
                                     from_null_map_data, selector);
147
92
        } else {
148
92
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
92
                                      from_null_map_data, selector);
150
92
        }
151
122
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_28EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
42
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
42
        auto& result_data = data;
139
42
        const auto& from_data = from.data;
140
141
42
        auto* result_null_map_data = null_map;
142
42
        const auto* from_null_map_data = from.null_map;
143
144
42
        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
40
        } else {
148
40
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
40
                                      from_null_map_data, selector);
150
40
        }
151
42
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_29EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
174
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
174
        auto& result_data = data;
139
174
        const auto& from_data = from.data;
140
141
174
        auto* result_null_map_data = null_map;
142
174
        const auto* from_null_map_data = from.null_map;
143
144
174
        if (from.is_const) {
145
32
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
32
                                     from_null_map_data, selector);
147
142
        } else {
148
142
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
142
                                      from_null_map_data, selector);
150
142
        }
151
174
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_20EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_30EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
201
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
201
        auto& result_data = data;
139
201
        const auto& from_data = from.data;
140
141
201
        auto* result_null_map_data = null_map;
142
201
        const auto* from_null_map_data = from.null_map;
143
144
201
        if (from.is_const) {
145
62
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
62
                                     from_null_map_data, selector);
147
139
        } else {
148
139
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
139
                                      from_null_map_data, selector);
150
139
        }
151
201
    }
_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
98
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
98
        auto& result_data = data;
139
98
        const auto& from_data = from.data;
140
141
98
        auto* result_null_map_data = null_map;
142
98
        const auto* from_null_map_data = from.null_map;
143
144
98
        if (from.is_const) {
145
10
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
10
                                     from_null_map_data, selector);
147
88
        } else {
148
88
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
88
                                      from_null_map_data, selector);
150
88
        }
151
98
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_26EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
42
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
42
        auto& result_data = data;
139
42
        const auto& from_data = from.data;
140
141
42
        auto* result_null_map_data = null_map;
142
42
        const auto* from_null_map_data = from.null_map;
143
144
42
        if (from.is_const) {
145
3
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
3
                                     from_null_map_data, selector);
147
39
        } else {
148
39
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
39
                                      from_null_map_data, selector);
150
39
        }
151
42
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_12EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_27EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
137
16
    void insert_from(const ColumnNullConstViewScalar<PType>& from, const Selector& selector) {
138
16
        auto& result_data = data;
139
16
        const auto& from_data = from.data;
140
141
16
        auto* result_null_map_data = null_map;
142
16
        const auto* from_null_map_data = from.null_map;
143
144
16
        if (from.is_const) {
145
10
            insert_into_result<true>(result_data, from_data, result_null_map_data,
146
10
                                     from_null_map_data, selector);
147
10
        } else {
148
6
            insert_into_result<false>(result_data, from_data, result_null_map_data,
149
6
                                      from_null_map_data, selector);
150
6
        }
151
16
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_42EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_36EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_fromERKNS_25ColumnNullConstViewScalarILS1_37EEERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
152
153
    template <bool is_const>
154
    static void insert_into_result(ArrayType& result_data, const ArrayType& from_data,
155
                                   NullMap* result_null_map_data, const NullMap* from_null_map_data,
156
11.4k
                                   const Selector& selector) {
157
11.4k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
11.4k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
1.63k
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
1.63k
        }
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.4k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb1EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4
                                   const Selector& selector) {
157
4
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
2
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
2
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE18insert_into_resultILb0EEEvRNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PS8_PSA_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
240
                                   const Selector& selector) {
157
240
        insert_with_selector<is_const>(result_data, from_data, selector);
158
240
        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
240
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb1EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4.60k
                                   const Selector& selector) {
157
4.60k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4.60k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
3
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
3
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4.60k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE18insert_into_resultILb0EEEvRNS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
4.59k
                                   const Selector& selector) {
157
4.59k
        insert_with_selector<is_const>(result_data, from_data, selector);
158
4.59k
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
410
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
410
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
4.59k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb1EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
5
                                   const Selector& selector) {
157
5
        insert_with_selector<is_const>(result_data, from_data, selector);
158
5
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE18insert_into_resultILb0EEEvRNS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
17
                                   const Selector& selector) {
157
17
        insert_with_selector<is_const>(result_data, from_data, selector);
158
17
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
17
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
17
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb1EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
363
                                   const Selector& selector) {
157
363
        insert_with_selector<is_const>(result_data, from_data, selector);
158
363
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
334
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
334
        }
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
363
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE18insert_into_resultILb0EEEvRNS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
678
                                   const Selector& selector) {
157
678
        insert_with_selector<is_const>(result_data, from_data, selector);
158
678
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
437
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
437
        }
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
678
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb1EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
42
                                   const Selector& selector) {
157
42
        insert_with_selector<is_const>(result_data, from_data, selector);
158
42
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
4
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
4
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
42
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE18insert_into_resultILb0EEEvRNS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
158
                                   const Selector& selector) {
157
158
        insert_with_selector<is_const>(result_data, from_data, selector);
158
158
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
54
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
54
        }
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
158
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb1EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
2
                                   const Selector& selector) {
157
2
        insert_with_selector<is_const>(result_data, from_data, selector);
158
2
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
0
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
0
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE18insert_into_resultILb0EEEvRNS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb1EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
3
                                   const Selector& selector) {
157
3
        insert_with_selector<is_const>(result_data, from_data, selector);
158
3
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE18insert_into_resultILb0EEEvRNS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
11
                                   const Selector& selector) {
157
11
        insert_with_selector<is_const>(result_data, from_data, selector);
158
11
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
11
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
11
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
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
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
30
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
92
                                   const Selector& selector) {
157
92
        insert_with_selector<is_const>(result_data, from_data, selector);
158
92
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
81
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
81
        }
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
92
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_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_13PrimitiveTypeE28EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIiEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
40
                                   const Selector& selector) {
157
40
        insert_with_selector<is_const>(result_data, from_data, selector);
158
40
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
38
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
38
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
40
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb1EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
32
                                   const Selector& selector) {
157
32
        insert_with_selector<is_const>(result_data, from_data, selector);
158
32
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
8
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
8
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_7DecimalIlEEEERKS7_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSF_RKNSB_IjLm4096ESE_Lm16ELm15EEE
Line
Count
Source
156
142
                                   const Selector& selector) {
157
142
        insert_with_selector<is_const>(result_data, from_data, selector);
158
142
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
19
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
19
        }
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
142
    }
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
62
                                   const Selector& selector) {
157
62
        insert_with_selector<is_const>(result_data, from_data, selector);
158
62
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
25
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
25
        }
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
62
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE18insert_into_resultILb0EEEvRNS_21DecimalPaddedPODArrayINS_12Decimal128V3EEERKS6_PNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEPKSE_RKNSA_IjLm4096ESD_Lm16ELm15EEE
Line
Count
Source
156
139
                                   const Selector& selector) {
157
139
        insert_with_selector<is_const>(result_data, from_data, selector);
158
139
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
93
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
93
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
139
    }
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
10
                                   const Selector& selector) {
157
10
        insert_with_selector<is_const>(result_data, from_data, selector);
158
10
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
88
                                   const Selector& selector) {
157
88
        insert_with_selector<is_const>(result_data, from_data, selector);
158
88
        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
88
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
3
                                   const Selector& selector) {
157
3
        insert_with_selector<is_const>(result_data, from_data, selector);
158
3
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
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
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKSB_PNS4_IhLm4096ESA_Lm16ELm15EEEPKSF_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
156
39
                                   const Selector& selector) {
157
39
        insert_with_selector<is_const>(result_data, from_data, selector);
158
39
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
37
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
37
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
39
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb1EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
10
                                   const Selector& selector) {
157
10
        insert_with_selector<is_const>(result_data, from_data, selector);
158
10
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
10
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
10
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE18insert_into_resultILb0EEEvRNS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
156
6
                                   const Selector& selector) {
157
6
        insert_with_selector<is_const>(result_data, from_data, selector);
158
6
        if (result_null_map_data != nullptr && from_null_map_data != nullptr) {
159
6
            insert_with_selector<is_const>(*result_null_map_data, *from_null_map_data, selector);
160
6
        }
161
        // Note: When from_null_map_data is nullptr (non-nullable source),
162
        // no action needed since result null_map is already initialized to 0 (non-null)
163
        // by init_result_column's resize_fill(count, 0)
164
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb1EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE18insert_into_resultILb0EEEvRNS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS9_PNS4_IhLm4096ES8_Lm16ELm15EEEPKSD_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb1EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE18insert_into_resultILb0EEEvRNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_SB_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb1EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE18insert_into_resultILb0EEEvRNS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PNS4_IhLm4096ES7_Lm16ELm15EEEPKSC_RKNS4_IjLm4096ES7_Lm16ELm15EEE
165
166
    template <bool is_const>
167
    static void insert_with_selector(auto& result_data, const auto& data,
168
13.0k
                                     const Selector& selector) {
169
12.4M
        for (size_t i = 0; i < selector.size(); ++i) {
170
12.3M
            auto index = selector[i];
171
12.3M
            result_data[index] = data[index_check_const<is_const>(i)];
172
12.3M
        }
173
13.0k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
14
        for (size_t i = 0; i < selector.size(); ++i) {
170
8
            auto index = selector[i];
171
8
            result_data[index] = data[index_check_const<is_const>(i)];
172
8
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE2EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
242
                                     const Selector& selector) {
169
598
        for (size_t i = 0; i < selector.size(); ++i) {
170
356
            auto index = selector[i];
171
356
            result_data[index] = data[index_check_const<is_const>(i)];
172
356
        }
173
242
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4.60k
                                     const Selector& selector) {
169
12.3M
        for (size_t i = 0; i < selector.size(); ++i) {
170
12.3M
            auto index = selector[i];
171
12.3M
            result_data[index] = data[index_check_const<is_const>(i)];
172
12.3M
        }
173
4.60k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIaLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
4.59k
                                     const Selector& selector) {
169
7.19k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.59k
            auto index = selector[i];
171
2.59k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.59k
        }
173
4.59k
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE3EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
410
                                     const Selector& selector) {
169
2.97k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.56k
            auto index = selector[i];
171
2.56k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.56k
        }
173
410
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
5
                                     const Selector& selector) {
169
17
        for (size_t i = 0; i < selector.size(); ++i) {
170
12
            auto index = selector[i];
171
12
            result_data[index] = data[index_check_const<is_const>(i)];
172
12
        }
173
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
7
        for (size_t i = 0; i < selector.size(); ++i) {
170
5
            auto index = selector[i];
171
5
            result_data[index] = data[index_check_const<is_const>(i)];
172
5
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIsLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
17
                                     const Selector& selector) {
169
62
        for (size_t i = 0; i < selector.size(); ++i) {
170
45
            auto index = selector[i];
171
45
            result_data[index] = data[index_check_const<is_const>(i)];
172
45
        }
173
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE4EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
17
                                     const Selector& selector) {
169
62
        for (size_t i = 0; i < selector.size(); ++i) {
170
45
            auto index = selector[i];
171
45
            result_data[index] = data[index_check_const<is_const>(i)];
172
45
        }
173
17
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
363
                                     const Selector& selector) {
169
1.75k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.39k
            auto index = selector[i];
171
1.39k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.39k
        }
173
363
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
334
                                     const Selector& selector) {
169
1.67k
        for (size_t i = 0; i < selector.size(); ++i) {
170
1.34k
            auto index = selector[i];
171
1.34k
            result_data[index] = data[index_check_const<is_const>(i)];
172
1.34k
        }
173
334
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIiLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
678
                                     const Selector& selector) {
169
1.25k
        for (size_t i = 0; i < selector.size(); ++i) {
170
578
            auto index = selector[i];
171
578
            result_data[index] = data[index_check_const<is_const>(i)];
172
578
        }
173
678
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
437
                                     const Selector& selector) {
169
726
        for (size_t i = 0; i < selector.size(); ++i) {
170
289
            auto index = selector[i];
171
289
            result_data[index] = data[index_check_const<is_const>(i)];
172
289
        }
173
437
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb1ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
42
                                     const Selector& selector) {
169
162
        for (size_t i = 0; i < selector.size(); ++i) {
170
120
            auto index = selector[i];
171
120
            result_data[index] = data[index_check_const<is_const>(i)];
172
120
        }
173
42
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_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_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIlLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
158
                                     const Selector& selector) {
169
361
        for (size_t i = 0; i < selector.size(); ++i) {
170
203
            auto index = selector[i];
171
203
            result_data[index] = data[index_check_const<is_const>(i)];
172
203
        }
173
158
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
54
                                     const Selector& selector) {
169
137
        for (size_t i = 0; i < selector.size(); ++i) {
170
83
            auto index = selector[i];
171
83
            result_data[index] = data[index_check_const<is_const>(i)];
172
83
        }
173
54
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayInLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIfLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
41
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
11
                                     const Selector& selector) {
169
41
        for (size_t i = 0; i < selector.size(); ++i) {
170
30
            auto index = selector[i];
171
30
            result_data[index] = data[index_check_const<is_const>(i)];
172
30
        }
173
11
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
30
                                     const Selector& selector) {
169
306
        for (size_t i = 0; i < selector.size(); ++i) {
170
276
            auto index = selector[i];
171
276
            result_data[index] = data[index_check_const<is_const>(i)];
172
276
        }
173
30
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
3
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
92
                                     const Selector& selector) {
169
179
        for (size_t i = 0; i < selector.size(); ++i) {
170
87
            auto index = selector[i];
171
87
            result_data[index] = data[index_check_const<is_const>(i)];
172
87
        }
173
92
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
81
                                     const Selector& selector) {
169
163
        for (size_t i = 0; i < selector.size(); ++i) {
170
82
            auto index = selector[i];
171
82
            result_data[index] = data[index_check_const<is_const>(i)];
172
82
        }
173
81
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
3
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
3
        for (size_t i = 0; i < selector.size(); ++i) {
170
1
            auto index = selector[i];
171
1
            result_data[index] = data[index_check_const<is_const>(i)];
172
1
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIiEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
40
                                     const Selector& selector) {
169
109
        for (size_t i = 0; i < selector.size(); ++i) {
170
69
            auto index = selector[i];
171
69
            result_data[index] = data[index_check_const<is_const>(i)];
172
69
        }
173
40
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
38
                                     const Selector& selector) {
169
107
        for (size_t i = 0; i < selector.size(); ++i) {
170
69
            auto index = selector[i];
171
69
            result_data[index] = data[index_check_const<is_const>(i)];
172
69
        }
173
38
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
32
                                     const Selector& selector) {
169
70
        for (size_t i = 0; i < selector.size(); ++i) {
170
38
            auto index = selector[i];
171
38
            result_data[index] = data[index_check_const<is_const>(i)];
172
38
        }
173
32
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
8
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
12
            auto index = selector[i];
171
12
            result_data[index] = data[index_check_const<is_const>(i)];
172
12
        }
173
8
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_7DecimalIlEEEES7_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
142
                                     const Selector& selector) {
169
313
        for (size_t i = 0; i < selector.size(); ++i) {
170
171
            auto index = selector[i];
171
171
            result_data[index] = data[index_check_const<is_const>(i)];
172
171
        }
173
142
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
19
                                     const Selector& selector) {
169
35
        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
19
    }
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
62
                                     const Selector& selector) {
169
12.9k
        for (size_t i = 0; i < selector.size(); ++i) {
170
12.8k
            auto index = selector[i];
171
12.8k
            result_data[index] = data[index_check_const<is_const>(i)];
172
12.8k
        }
173
62
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
25
                                     const Selector& selector) {
169
61
        for (size_t i = 0; i < selector.size(); ++i) {
170
36
            auto index = selector[i];
171
36
            result_data[index] = data[index_check_const<is_const>(i)];
172
36
        }
173
25
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_21DecimalPaddedPODArrayINS_12Decimal128V3EEES6_EEvRT0_RKT1_RKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
168
139
                                     const Selector& selector) {
169
2.77k
        for (size_t i = 0; i < selector.size(); ++i) {
170
2.63k
            auto index = selector[i];
171
2.63k
            result_data[index] = data[index_check_const<is_const>(i)];
172
2.63k
        }
173
139
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
93
                                     const Selector& selector) {
169
259
        for (size_t i = 0; i < selector.size(); ++i) {
170
166
            auto index = selector[i];
171
166
            result_data[index] = data[index_check_const<is_const>(i)];
172
166
        }
173
93
    }
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
10
                                     const Selector& selector) {
169
26
        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
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
2
                                     const Selector& selector) {
169
4
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_15DateV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
88
                                     const Selector& selector) {
169
203
        for (size_t i = 0; i < selector.size(); ++i) {
170
115
            auto index = selector[i];
171
115
            result_data[index] = data[index_check_const<is_const>(i)];
172
115
        }
173
88
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
27
                                     const Selector& selector) {
169
72
        for (size_t i = 0; i < selector.size(); ++i) {
170
45
            auto index = selector[i];
171
45
            result_data[index] = data[index_check_const<is_const>(i)];
172
45
        }
173
27
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
3
                                     const Selector& selector) {
169
5
        for (size_t i = 0; i < selector.size(); ++i) {
170
2
            auto index = selector[i];
171
2
            result_data[index] = data[index_check_const<is_const>(i)];
172
2
        }
173
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
1
                                     const Selector& selector) {
169
1
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
1
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESB_EEvRT0_RKT1_RKNS4_IjLm4096ESA_Lm16ELm15EEE
Line
Count
Source
168
39
                                     const Selector& selector) {
169
116
        for (size_t i = 0; i < selector.size(); ++i) {
170
77
            auto index = selector[i];
171
77
            result_data[index] = data[index_check_const<is_const>(i)];
172
77
        }
173
39
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
37
                                     const Selector& selector) {
169
113
        for (size_t i = 0; i < selector.size(); ++i) {
170
76
            auto index = selector[i];
171
76
            result_data[index] = data[index_check_const<is_const>(i)];
172
76
        }
173
37
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayINS_16VecDateTimeValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
10
                                     const Selector& selector) {
169
20
        for (size_t i = 0; i < selector.size(); ++i) {
170
10
            auto index = selector[i];
171
10
            result_data[index] = data[index_check_const<is_const>(i)];
172
10
        }
173
10
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIdLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Line
Count
Source
168
6
                                     const Selector& selector) {
169
6
        for (size_t i = 0; i < selector.size(); ++i) {
170
0
            auto index = selector[i];
171
0
            result_data[index] = data[index_check_const<is_const>(i)];
172
0
        }
173
6
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayINS_16TimestampTzValueELm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES9_EEvRT0_RKT1_RKNS4_IjLm4096ES8_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKS8_
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb1ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIoLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE20insert_with_selectorILb0ENS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEES8_EEvRT0_RKT1_RKNS4_IjLm4096ES7_Lm16ELm15EEE
174
175
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
47
        for (size_t i = 0; i < selector.size(); ++i) {
184
25
            null_map_data[selector[i]] = 1;
185
25
        }
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
3
    void insert_null(const Selector& selector) {
176
3
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
3
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
3
        auto& null_map_data = *null_map;
183
6
        for (size_t i = 0; i < selector.size(); ++i) {
184
3
            null_map_data[selector[i]] = 1;
185
3
        }
186
3
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE5EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
6
    void insert_null(const Selector& selector) {
176
6
        if (selector.empty()) {
177
1
            return;
178
1
        }
179
6
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
5
        auto& null_map_data = *null_map;
183
13
        for (size_t i = 0; i < selector.size(); ++i) {
184
8
            null_map_data[selector[i]] = 1;
185
8
        }
186
5
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE6EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE7EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE8EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE9EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE28EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE29EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE20EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE30EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE35EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE11EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE25EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
_ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE26EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Line
Count
Source
175
2
    void insert_null(const Selector& selector) {
176
2
        if (selector.empty()) {
177
0
            return;
178
0
        }
179
2
        DCHECK(null_map != nullptr)
180
0
                << "Cannot insert null value into non-nullable column in ShortCircuitCoalesceExpr.";
181
182
2
        auto& null_map_data = *null_map;
183
4
        for (size_t i = 0; i < selector.size(); ++i) {
184
2
            null_map_data[selector[i]] = 1;
185
2
        }
186
2
    }
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE12EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE27EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE42EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE36EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
Unexecuted instantiation: _ZN5doris27MutableColumnNullViewScalarILNS_13PrimitiveTypeE37EE11insert_nullERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEE
187
};
188
189
// Used to store a column and its corresponding selector.
190
// It can be understood as: the positions selected by the selector in the result column correspond to the column inside.
191
// column = filter_column_with_selector(result_column, selector)
192
// What we need to do is fill these positions back into the result column (in a sense, it can be seen as restoring them).
193
// If the column is empty, it means these positions are all null, e.g., the last parameter of coalesce is null, or the else branch of case when is not provided.
194
struct ColumnAndSelector {
195
    ColumnPtr column = nullptr;
196
    Selector selector; // positions in result column
197
198
340
    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
5.55k
                          const Selector& false_selector, size_t count) {
230
5.55k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
5.55k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
5.55k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
5.55k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
5.55k
        auto result_column = result_type->create_column();
236
237
5.55k
        MutableColumnNullViewScalar<PType> result_column_view =
238
5.55k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
5.55k
        init_result_column(result_column_view, count);
240
241
5.55k
        ColumnNullConstViewScalar<PType> true_column_view =
242
5.55k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
5.55k
        ColumnNullConstViewScalar<PType> false_column_view =
244
5.55k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
5.55k
        result_column_view.insert_from(true_column_view, true_selector);
247
5.55k
        result_column_view.insert_from(false_column_view, false_selector);
248
5.55k
        DCHECK_EQ(result_column->size(), count);
249
5.55k
        return result_column;
250
5.55k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
121
                          const Selector& false_selector, size_t count) {
230
121
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
121
        DCHECK_EQ(true_column->size(), true_selector.size());
232
121
        DCHECK_EQ(false_column->size(), false_selector.size());
233
121
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
121
        auto result_column = result_type->create_column();
236
237
121
        MutableColumnNullViewScalar<PType> result_column_view =
238
121
                MutableColumnNullViewScalar<PType>::create(result_column);
239
121
        init_result_column(result_column_view, count);
240
241
121
        ColumnNullConstViewScalar<PType> true_column_view =
242
121
                ColumnNullConstViewScalar<PType>::create(true_column);
243
121
        ColumnNullConstViewScalar<PType> false_column_view =
244
121
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
121
        result_column_view.insert_from(true_column_view, true_selector);
247
121
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
121
        return result_column;
250
121
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
4.59k
                          const Selector& false_selector, size_t count) {
230
4.59k
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
4.59k
        DCHECK_EQ(true_column->size(), true_selector.size());
232
4.59k
        DCHECK_EQ(false_column->size(), false_selector.size());
233
4.59k
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
4.59k
        auto result_column = result_type->create_column();
236
237
4.59k
        MutableColumnNullViewScalar<PType> result_column_view =
238
4.59k
                MutableColumnNullViewScalar<PType>::create(result_column);
239
4.59k
        init_result_column(result_column_view, count);
240
241
4.59k
        ColumnNullConstViewScalar<PType> true_column_view =
242
4.59k
                ColumnNullConstViewScalar<PType>::create(true_column);
243
4.59k
        ColumnNullConstViewScalar<PType> false_column_view =
244
4.59k
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
4.59k
        result_column_view.insert_from(true_column_view, true_selector);
247
4.59k
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
4.59k
        return result_column;
250
4.59k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
1
                          const Selector& false_selector, size_t count) {
230
1
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
1
        DCHECK_EQ(true_column->size(), true_selector.size());
232
1
        DCHECK_EQ(false_column->size(), false_selector.size());
233
1
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
1
        auto result_column = result_type->create_column();
236
237
1
        MutableColumnNullViewScalar<PType> result_column_view =
238
1
                MutableColumnNullViewScalar<PType>::create(result_column);
239
1
        init_result_column(result_column_view, count);
240
241
1
        ColumnNullConstViewScalar<PType> true_column_view =
242
1
                ColumnNullConstViewScalar<PType>::create(true_column);
243
1
        ColumnNullConstViewScalar<PType> false_column_view =
244
1
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
1
        result_column_view.insert_from(true_column_view, true_selector);
247
1
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
1
        return result_column;
250
1
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
502
                          const Selector& false_selector, size_t count) {
230
502
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
502
        DCHECK_EQ(true_column->size(), true_selector.size());
232
502
        DCHECK_EQ(false_column->size(), false_selector.size());
233
502
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
502
        auto result_column = result_type->create_column();
236
237
502
        MutableColumnNullViewScalar<PType> result_column_view =
238
502
                MutableColumnNullViewScalar<PType>::create(result_column);
239
502
        init_result_column(result_column_view, count);
240
241
502
        ColumnNullConstViewScalar<PType> true_column_view =
242
502
                ColumnNullConstViewScalar<PType>::create(true_column);
243
502
        ColumnNullConstViewScalar<PType> false_column_view =
244
502
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
502
        result_column_view.insert_from(true_column_view, true_selector);
247
502
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
502
        return result_column;
250
502
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
87
                          const Selector& false_selector, size_t count) {
230
87
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
87
        DCHECK_EQ(true_column->size(), true_selector.size());
232
87
        DCHECK_EQ(false_column->size(), false_selector.size());
233
87
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
87
        auto result_column = result_type->create_column();
236
237
87
        MutableColumnNullViewScalar<PType> result_column_view =
238
87
                MutableColumnNullViewScalar<PType>::create(result_column);
239
87
        init_result_column(result_column_view, count);
240
241
87
        ColumnNullConstViewScalar<PType> true_column_view =
242
87
                ColumnNullConstViewScalar<PType>::create(true_column);
243
87
        ColumnNullConstViewScalar<PType> false_column_view =
244
87
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
87
        result_column_view.insert_from(true_column_view, true_selector);
247
87
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
87
        return result_column;
250
87
    }
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
53
                          const Selector& false_selector, size_t count) {
230
53
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
53
        DCHECK_EQ(true_column->size(), true_selector.size());
232
53
        DCHECK_EQ(false_column->size(), false_selector.size());
233
53
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
53
        auto result_column = result_type->create_column();
236
237
53
        MutableColumnNullViewScalar<PType> result_column_view =
238
53
                MutableColumnNullViewScalar<PType>::create(result_column);
239
53
        init_result_column(result_column_view, count);
240
241
53
        ColumnNullConstViewScalar<PType> true_column_view =
242
53
                ColumnNullConstViewScalar<PType>::create(true_column);
243
53
        ColumnNullConstViewScalar<PType> false_column_view =
244
53
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
53
        result_column_view.insert_from(true_column_view, true_selector);
247
53
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
53
        return result_column;
250
53
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
15
                          const Selector& false_selector, size_t count) {
230
15
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
15
        DCHECK_EQ(true_column->size(), true_selector.size());
232
15
        DCHECK_EQ(false_column->size(), false_selector.size());
233
15
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
15
        auto result_column = result_type->create_column();
236
237
15
        MutableColumnNullViewScalar<PType> result_column_view =
238
15
                MutableColumnNullViewScalar<PType>::create(result_column);
239
15
        init_result_column(result_column_view, count);
240
241
15
        ColumnNullConstViewScalar<PType> true_column_view =
242
15
                ColumnNullConstViewScalar<PType>::create(true_column);
243
15
        ColumnNullConstViewScalar<PType> false_column_view =
244
15
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
15
        result_column_view.insert_from(true_column_view, true_selector);
247
15
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
15
        return result_column;
250
15
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
28
                          const Selector& false_selector, size_t count) {
230
28
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
28
        DCHECK_EQ(true_column->size(), true_selector.size());
232
28
        DCHECK_EQ(false_column->size(), false_selector.size());
233
28
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
28
        auto result_column = result_type->create_column();
236
237
28
        MutableColumnNullViewScalar<PType> result_column_view =
238
28
                MutableColumnNullViewScalar<PType>::create(result_column);
239
28
        init_result_column(result_column_view, count);
240
241
28
        ColumnNullConstViewScalar<PType> true_column_view =
242
28
                ColumnNullConstViewScalar<PType>::create(true_column);
243
28
        ColumnNullConstViewScalar<PType> false_column_view =
244
28
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
28
        result_column_view.insert_from(true_column_view, true_selector);
247
28
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
28
        return result_column;
250
28
    }
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
96
                          const Selector& false_selector, size_t count) {
230
96
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
96
        DCHECK_EQ(true_column->size(), true_selector.size());
232
96
        DCHECK_EQ(false_column->size(), false_selector.size());
233
96
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
96
        auto result_column = result_type->create_column();
236
237
96
        MutableColumnNullViewScalar<PType> result_column_view =
238
96
                MutableColumnNullViewScalar<PType>::create(result_column);
239
96
        init_result_column(result_column_view, count);
240
241
96
        ColumnNullConstViewScalar<PType> true_column_view =
242
96
                ColumnNullConstViewScalar<PType>::create(true_column);
243
96
        ColumnNullConstViewScalar<PType> false_column_view =
244
96
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
96
        result_column_view.insert_from(true_column_view, true_selector);
247
96
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
96
        return result_column;
250
96
    }
_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
39
                          const Selector& false_selector, size_t count) {
230
39
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
39
        DCHECK_EQ(true_column->size(), true_selector.size());
232
39
        DCHECK_EQ(false_column->size(), false_selector.size());
233
39
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
39
        auto result_column = result_type->create_column();
236
237
39
        MutableColumnNullViewScalar<PType> result_column_view =
238
39
                MutableColumnNullViewScalar<PType>::create(result_column);
239
39
        init_result_column(result_column_view, count);
240
241
39
        ColumnNullConstViewScalar<PType> true_column_view =
242
39
                ColumnNullConstViewScalar<PType>::create(true_column);
243
39
        ColumnNullConstViewScalar<PType> false_column_view =
244
39
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
39
        result_column_view.insert_from(true_column_view, true_selector);
247
39
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
39
        return result_column;
250
39
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
13
                          const Selector& false_selector, size_t count) {
230
13
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
13
        DCHECK_EQ(true_column->size(), true_selector.size());
232
13
        DCHECK_EQ(false_column->size(), false_selector.size());
233
13
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
13
        auto result_column = result_type->create_column();
236
237
13
        MutableColumnNullViewScalar<PType> result_column_view =
238
13
                MutableColumnNullViewScalar<PType>::create(result_column);
239
13
        init_result_column(result_column_view, count);
240
241
13
        ColumnNullConstViewScalar<PType> true_column_view =
242
13
                ColumnNullConstViewScalar<PType>::create(true_column);
243
13
        ColumnNullConstViewScalar<PType> false_column_view =
244
13
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
13
        result_column_view.insert_from(true_column_view, true_selector);
247
13
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
13
        return result_column;
250
13
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Line
Count
Source
229
6
                          const Selector& false_selector, size_t count) {
230
6
        DCHECK_EQ(false_selector.size() + true_selector.size(), count);
231
6
        DCHECK_EQ(true_column->size(), true_selector.size());
232
6
        DCHECK_EQ(false_column->size(), false_selector.size());
233
6
        DCHECK_EQ(PType, result_type->get_primitive_type());
234
235
6
        auto result_column = result_type->create_column();
236
237
6
        MutableColumnNullViewScalar<PType> result_column_view =
238
6
                MutableColumnNullViewScalar<PType>::create(result_column);
239
6
        init_result_column(result_column_view, count);
240
241
6
        ColumnNullConstViewScalar<PType> true_column_view =
242
6
                ColumnNullConstViewScalar<PType>::create(true_column);
243
6
        ColumnNullConstViewScalar<PType> false_column_view =
244
6
                ColumnNullConstViewScalar<PType>::create(false_column);
245
246
6
        result_column_view.insert_from(true_column_view, true_selector);
247
6
        result_column_view.insert_from(false_column_view, false_selector);
248
        DCHECK_EQ(result_column->size(), count);
249
6
        return result_column;
250
6
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKNS_3COWINS_7IColumnEE13immutable_ptrISA_EERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEESF_SM_m
251
252
    static ColumnPtr fill(const DataTypePtr& result_type,
253
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
254
236
                          size_t count) {
255
236
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
236
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
236
                                             return sum + cs.selector.size();
258
236
                                         }));
259
236
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
236
        auto result_column = result_type->create_column();
261
262
236
        MutableColumnNullViewScalar<PType> result_column_view =
263
236
                MutableColumnNullViewScalar<PType>::create(result_column);
264
236
        init_result_column(result_column_view, count);
265
266
335
        for (const auto& columns_and_selector : columns_and_selectors) {
267
335
            if (columns_and_selector.output_nulls()) {
268
21
                result_column_view.insert_null(columns_and_selector.selector);
269
314
            } else {
270
314
                ColumnNullConstViewScalar<PType> from_column_view =
271
314
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
314
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
314
            }
274
335
        }
275
236
        DCHECK_EQ(result_column->size(), count);
276
236
        return result_column;
277
236
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
15
                          size_t count) {
255
15
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
15
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
15
                                             return sum + cs.selector.size();
258
15
                                         }));
259
15
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
15
        auto result_column = result_type->create_column();
261
262
15
        MutableColumnNullViewScalar<PType> result_column_view =
263
15
                MutableColumnNullViewScalar<PType>::create(result_column);
264
15
        init_result_column(result_column_view, count);
265
266
20
        for (const auto& columns_and_selector : columns_and_selectors) {
267
20
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
18
            } else {
270
18
                ColumnNullConstViewScalar<PType> from_column_view =
271
18
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
18
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
18
            }
274
20
        }
275
        DCHECK_EQ(result_column->size(), count);
276
15
        return result_column;
277
15
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
17
                          size_t count) {
255
17
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
17
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
17
                                             return sum + cs.selector.size();
258
17
                                         }));
259
17
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
17
        auto result_column = result_type->create_column();
261
262
17
        MutableColumnNullViewScalar<PType> result_column_view =
263
17
                MutableColumnNullViewScalar<PType>::create(result_column);
264
17
        init_result_column(result_column_view, count);
265
266
23
        for (const auto& columns_and_selector : columns_and_selectors) {
267
23
            if (columns_and_selector.output_nulls()) {
268
3
                result_column_view.insert_null(columns_and_selector.selector);
269
20
            } else {
270
20
                ColumnNullConstViewScalar<PType> from_column_view =
271
20
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
20
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
20
            }
274
23
        }
275
        DCHECK_EQ(result_column->size(), count);
276
17
        return result_column;
277
17
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
23
                          size_t count) {
255
23
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
23
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
23
                                             return sum + cs.selector.size();
258
23
                                         }));
259
23
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
23
        auto result_column = result_type->create_column();
261
262
23
        MutableColumnNullViewScalar<PType> result_column_view =
263
23
                MutableColumnNullViewScalar<PType>::create(result_column);
264
23
        init_result_column(result_column_view, count);
265
266
39
        for (const auto& columns_and_selector : columns_and_selectors) {
267
39
            if (columns_and_selector.output_nulls()) {
268
4
                result_column_view.insert_null(columns_and_selector.selector);
269
35
            } else {
270
35
                ColumnNullConstViewScalar<PType> from_column_view =
271
35
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
35
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
35
            }
274
39
        }
275
        DCHECK_EQ(result_column->size(), count);
276
23
        return result_column;
277
23
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE4fillERKSt10shared_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
28
        for (const auto& columns_and_selector : columns_and_selectors) {
267
28
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
26
            } else {
270
26
                ColumnNullConstViewScalar<PType> from_column_view =
271
26
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
26
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
26
            }
274
28
        }
275
        DCHECK_EQ(result_column->size(), count);
276
22
        return result_column;
277
22
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
12
                          size_t count) {
255
12
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
12
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
12
                                             return sum + cs.selector.size();
258
12
                                         }));
259
12
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
12
        auto result_column = result_type->create_column();
261
262
12
        MutableColumnNullViewScalar<PType> result_column_view =
263
12
                MutableColumnNullViewScalar<PType>::create(result_column);
264
12
        init_result_column(result_column_view, count);
265
266
16
        for (const auto& columns_and_selector : columns_and_selectors) {
267
16
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
14
            } else {
270
14
                ColumnNullConstViewScalar<PType> from_column_view =
271
14
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
14
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
14
            }
274
16
        }
275
        DCHECK_EQ(result_column->size(), count);
276
12
        return result_column;
277
12
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
14
                          size_t count) {
255
14
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
14
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
14
                                             return sum + cs.selector.size();
258
14
                                         }));
259
14
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
14
        auto result_column = result_type->create_column();
261
262
14
        MutableColumnNullViewScalar<PType> result_column_view =
263
14
                MutableColumnNullViewScalar<PType>::create(result_column);
264
14
        init_result_column(result_column_view, count);
265
266
18
        for (const auto& columns_and_selector : columns_and_selectors) {
267
18
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
16
            } else {
270
16
                ColumnNullConstViewScalar<PType> from_column_view =
271
16
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
16
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
16
            }
274
18
        }
275
        DCHECK_EQ(result_column->size(), count);
276
14
        return result_column;
277
14
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
10
                          size_t count) {
255
10
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
10
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
10
                                             return sum + cs.selector.size();
258
10
                                         }));
259
10
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
10
        auto result_column = result_type->create_column();
261
262
10
        MutableColumnNullViewScalar<PType> result_column_view =
263
10
                MutableColumnNullViewScalar<PType>::create(result_column);
264
10
        init_result_column(result_column_view, count);
265
266
14
        for (const auto& columns_and_selector : columns_and_selectors) {
267
14
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
12
            } else {
270
12
                ColumnNullConstViewScalar<PType> from_column_view =
271
12
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
12
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
12
            }
274
14
        }
275
        DCHECK_EQ(result_column->size(), count);
276
10
        return result_column;
277
10
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
78
                          size_t count) {
255
78
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
78
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
78
                                             return sum + cs.selector.size();
258
78
                                         }));
259
78
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
78
        auto result_column = result_type->create_column();
261
262
78
        MutableColumnNullViewScalar<PType> result_column_view =
263
78
                MutableColumnNullViewScalar<PType>::create(result_column);
264
78
        init_result_column(result_column_view, count);
265
266
118
        for (const auto& columns_and_selector : columns_and_selectors) {
267
118
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
118
            } else {
270
118
                ColumnNullConstViewScalar<PType> from_column_view =
271
118
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
118
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
118
            }
274
118
        }
275
        DCHECK_EQ(result_column->size(), count);
276
78
        return result_column;
277
78
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
8
                          size_t count) {
255
8
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
8
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
8
                                             return sum + cs.selector.size();
258
8
                                         }));
259
8
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
8
        auto result_column = result_type->create_column();
261
262
8
        MutableColumnNullViewScalar<PType> result_column_view =
263
8
                MutableColumnNullViewScalar<PType>::create(result_column);
264
8
        init_result_column(result_column_view, count);
265
266
9
        for (const auto& columns_and_selector : columns_and_selectors) {
267
9
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
9
            } else {
270
9
                ColumnNullConstViewScalar<PType> from_column_view =
271
9
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
9
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
9
            }
274
9
        }
275
        DCHECK_EQ(result_column->size(), count);
276
8
        return result_column;
277
8
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE35EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
2
                          size_t count) {
255
2
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
2
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
2
                                             return sum + cs.selector.size();
258
2
                                         }));
259
2
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
2
        auto result_column = result_type->create_column();
261
262
2
        MutableColumnNullViewScalar<PType> result_column_view =
263
2
                MutableColumnNullViewScalar<PType>::create(result_column);
264
2
        init_result_column(result_column_view, count);
265
266
2
        for (const auto& columns_and_selector : columns_and_selectors) {
267
2
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
2
            } else {
270
2
                ColumnNullConstViewScalar<PType> from_column_view =
271
2
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
2
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
2
            }
274
2
        }
275
        DCHECK_EQ(result_column->size(), count);
276
2
        return result_column;
277
2
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE11EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE25EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
14
                          size_t count) {
255
14
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
14
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
14
                                             return sum + cs.selector.size();
258
14
                                         }));
259
14
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
14
        auto result_column = result_type->create_column();
261
262
14
        MutableColumnNullViewScalar<PType> result_column_view =
263
14
                MutableColumnNullViewScalar<PType>::create(result_column);
264
14
        init_result_column(result_column_view, count);
265
266
22
        for (const auto& columns_and_selector : columns_and_selectors) {
267
22
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
20
            } else {
270
20
                ColumnNullConstViewScalar<PType> from_column_view =
271
20
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
20
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
20
            }
274
22
        }
275
        DCHECK_EQ(result_column->size(), count);
276
14
        return result_column;
277
14
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
13
                          size_t count) {
255
13
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
13
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
13
                                             return sum + cs.selector.size();
258
13
                                         }));
259
13
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
13
        auto result_column = result_type->create_column();
261
262
13
        MutableColumnNullViewScalar<PType> result_column_view =
263
13
                MutableColumnNullViewScalar<PType>::create(result_column);
264
13
        init_result_column(result_column_view, count);
265
266
18
        for (const auto& columns_and_selector : columns_and_selectors) {
267
18
            if (columns_and_selector.output_nulls()) {
268
2
                result_column_view.insert_null(columns_and_selector.selector);
269
16
            } else {
270
16
                ColumnNullConstViewScalar<PType> from_column_view =
271
16
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
16
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
16
            }
274
18
        }
275
        DCHECK_EQ(result_column->size(), count);
276
13
        return result_column;
277
13
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Line
Count
Source
254
4
                          size_t count) {
255
4
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
256
4
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
257
4
                                             return sum + cs.selector.size();
258
4
                                         }));
259
4
        DCHECK_EQ(PType, result_type->get_primitive_type());
260
4
        auto result_column = result_type->create_column();
261
262
4
        MutableColumnNullViewScalar<PType> result_column_view =
263
4
                MutableColumnNullViewScalar<PType>::create(result_column);
264
4
        init_result_column(result_column_view, count);
265
266
4
        for (const auto& columns_and_selector : columns_and_selectors) {
267
4
            if (columns_and_selector.output_nulls()) {
268
0
                result_column_view.insert_null(columns_and_selector.selector);
269
4
            } else {
270
4
                ColumnNullConstViewScalar<PType> from_column_view =
271
4
                        ColumnNullConstViewScalar<PType>::create(columns_and_selector.column);
272
4
                result_column_view.insert_from(from_column_view, columns_and_selector.selector);
273
4
            }
274
4
        }
275
        DCHECK_EQ(result_column->size(), count);
276
4
        return result_column;
277
4
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE4fillERKSt10shared_ptrIKNS_9IDataTypeEERKSt6vectorINS_17ColumnAndSelectorESaISA_EEm
278
279
private:
280
    // if result_column is nullable,nullmap will all init to false
281
    static void init_result_column(MutableColumnNullViewScalar<PType>& result_column_view,
282
5.79k
                                   size_t count) {
283
5.79k
        result_column_view.data.resize(count);
284
5.79k
        if (result_column_view.null_map != nullptr) {
285
1.15k
            result_column_view.null_map->resize_fill(count, 0);
286
1.15k
        }
287
5.79k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE2EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_2EEEm
Line
Count
Source
282
123
                                   size_t count) {
283
123
        result_column_view.data.resize(count);
284
123
        if (result_column_view.null_map != nullptr) {
285
2
            result_column_view.null_map->resize_fill(count, 0);
286
2
        }
287
123
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE3EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_3EEEm
Line
Count
Source
282
4.60k
                                   size_t count) {
283
4.60k
        result_column_view.data.resize(count);
284
4.60k
        if (result_column_view.null_map != nullptr) {
285
405
            result_column_view.null_map->resize_fill(count, 0);
286
405
        }
287
4.60k
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE4EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_4EEEm
Line
Count
Source
282
18
                                   size_t count) {
283
18
        result_column_view.data.resize(count);
284
18
        if (result_column_view.null_map != nullptr) {
285
16
            result_column_view.null_map->resize_fill(count, 0);
286
16
        }
287
18
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE5EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_5EEEm
Line
Count
Source
282
525
                                   size_t count) {
283
525
        result_column_view.data.resize(count);
284
525
        if (result_column_view.null_map != nullptr) {
285
439
            result_column_view.null_map->resize_fill(count, 0);
286
439
        }
287
525
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE6EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_6EEEm
Line
Count
Source
282
109
                                   size_t count) {
283
109
        result_column_view.data.resize(count);
284
109
        if (result_column_view.null_map != nullptr) {
285
42
            result_column_view.null_map->resize_fill(count, 0);
286
42
        }
287
109
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE7EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_7EEEm
Line
Count
Source
282
2
                                   size_t count) {
283
2
        result_column_view.data.resize(count);
284
2
        if (result_column_view.null_map != nullptr) {
285
0
            result_column_view.null_map->resize_fill(count, 0);
286
0
        }
287
2
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE8EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_8EEEm
Line
Count
Source
282
12
                                   size_t count) {
283
12
        result_column_view.data.resize(count);
284
12
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
12
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE9EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_9EEEm
Line
Count
Source
282
67
                                   size_t count) {
283
67
        result_column_view.data.resize(count);
284
67
        if (result_column_view.null_map != nullptr) {
285
59
            result_column_view.null_map->resize_fill(count, 0);
286
59
        }
287
67
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE28EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_28EEEm
Line
Count
Source
282
25
                                   size_t count) {
283
25
        result_column_view.data.resize(count);
284
25
        if (result_column_view.null_map != nullptr) {
285
25
            result_column_view.null_map->resize_fill(count, 0);
286
25
        }
287
25
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE29EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_29EEEm
Line
Count
Source
282
106
                                   size_t count) {
283
106
        result_column_view.data.resize(count);
284
106
        if (result_column_view.null_map != nullptr) {
285
14
            result_column_view.null_map->resize_fill(count, 0);
286
14
        }
287
106
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE20EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_20EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE30EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_30EEEm
Line
Count
Source
282
104
                                   size_t count) {
283
104
        result_column_view.data.resize(count);
284
104
        if (result_column_view.null_map != nullptr) {
285
82
            result_column_view.null_map->resize_fill(count, 0);
286
82
        }
287
104
    }
_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
53
                                   size_t count) {
283
53
        result_column_view.data.resize(count);
284
53
        if (result_column_view.null_map != nullptr) {
285
20
            result_column_view.null_map->resize_fill(count, 0);
286
20
        }
287
53
    }
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE26EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_26EEEm
Line
Count
Source
282
26
                                   size_t count) {
283
26
        result_column_view.data.resize(count);
284
26
        if (result_column_view.null_map != nullptr) {
285
23
            result_column_view.null_map->resize_fill(count, 0);
286
23
        }
287
26
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE12EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_12EEEm
_ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE27EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_27EEEm
Line
Count
Source
282
10
                                   size_t count) {
283
10
        result_column_view.data.resize(count);
284
10
        if (result_column_view.null_map != nullptr) {
285
10
            result_column_view.null_map->resize_fill(count, 0);
286
10
        }
287
10
    }
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE42EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_42EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE36EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_36EEEm
Unexecuted instantiation: _ZN5doris22ScalarFillWithSelectorILNS_13PrimitiveTypeE37EE18init_result_columnERNS_27MutableColumnNullViewScalarILS1_37EEEm
288
};
289
290
// Non-scalar version of fill.
291
// For types that do not support random access, such as string, array, map, etc.
292
struct NonScalarFillWithSelector {
293
    static ColumnPtr fill(const DataTypePtr& result_type, const ColumnPtr& true_column,
294
                          const Selector& true_selector, const ColumnPtr& false_column,
295
639
                          const Selector& false_selector, size_t count) {
296
639
        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
639
        DCHECK_EQ(true_column->size(), true_selector.size());
301
639
        DCHECK_EQ(false_column->size(), false_selector.size());
302
303
639
        auto result_column = result_type->create_column();
304
305
639
        MutableColumnNullView result_column_view = MutableColumnNullView::create(result_column);
306
639
        ColumnNullConstView true_column_view = ColumnNullConstView::create(true_column);
307
639
        ColumnNullConstView false_column_view = ColumnNullConstView::create(false_column);
308
309
639
        size_t true_index = 0;
310
639
        size_t false_index = 0;
311
2.22k
        for (size_t i = 0; i < count; ++i) {
312
1.58k
            if (true_index < true_selector.size() && i == true_selector[true_index]) {
313
214
                result_column_view.insert_from(true_column_view, true_index++);
314
1.37k
            } else {
315
1.37k
                result_column_view.insert_from(false_column_view, false_index++);
316
1.37k
            }
317
1.58k
        }
318
319
639
        DCHECK_EQ(result_column->size(), count);
320
639
        return result_column;
321
639
    }
322
323
    static ColumnPtr fill(const DataTypePtr& result_type,
324
                          const std::vector<ColumnAndSelector>& columns_and_selectors,
325
99
                          size_t count) {
326
99
        DCHECK_EQ(count, std::accumulate(columns_and_selectors.begin(), columns_and_selectors.end(),
327
99
                                         0ULL, [](size_t sum, const ColumnAndSelector& cs) {
328
99
                                             return sum + cs.selector.size();
329
99
                                         }));
330
99
        struct FillColumnWithPos {
331
99
            std::optional<ColumnNullConstView> source_column;
332
99
            size_t pos_in_source; // position in the column
333
334
274
            void insert_to_column(MutableColumnNullView& result_column) const {
335
274
                if (!source_column) {
336
10
                    result_column.insert_null();
337
264
                } else {
338
264
                    result_column.insert_from(*source_column, pos_in_source);
339
264
                }
340
274
            }
341
99
        };
342
343
99
        auto mutable_result_column = result_type->create_column();
344
99
        mutable_result_column->reserve(count);
345
346
99
        MutableColumnNullView mutable_result_column_view =
347
99
                MutableColumnNullView::create(mutable_result_column);
348
349
99
        std::vector<FillColumnWithPos> fill_positions(count);
350
351
204
        for (const ColumnAndSelector& column_with_selector : columns_and_selectors) {
352
204
            if (column_with_selector.selector.empty()) {
353
67
                continue;
354
67
            }
355
411
            for (size_t i = 0; i < column_with_selector.selector.size(); ++i) {
356
274
                size_t result_index = column_with_selector.selector[i];
357
274
                DCHECK(fill_positions[result_index].source_column.has_value() == false)
358
0
                        << "Position " << result_index << " has been filled already.";
359
274
                if (column_with_selector.column) {
360
264
                    ColumnNullConstView column_view =
361
264
                            ColumnNullConstView::create(column_with_selector.column);
362
264
                    fill_positions[result_index].source_column.emplace(column_view);
363
264
                    fill_positions[result_index].pos_in_source = i;
364
264
                } else {
365
10
                    fill_positions[result_index].source_column = std::nullopt;
366
10
                }
367
274
            }
368
137
        }
369
370
274
        for (const FillColumnWithPos& fill_pos : fill_positions) {
371
274
            fill_pos.insert_to_column(mutable_result_column_view);
372
274
        }
373
374
99
        DCHECK_EQ(mutable_result_column->size(), count);
375
99
        return mutable_result_column;
376
99
    }
377
};
378
379
struct ConditionColumnViewHelper {
380
    ConditionColumnViewHelper(const Selector* selector, size_t count)
381
6.66k
            : _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
6.65k
    void for_each_with_selector(Func& f) const {
388
6.65k
        if (_selector != nullptr) {
389
221
            const auto& selector_data = *_selector;
390
633
            for (size_t i = 0; i < _count; ++i) {
391
412
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
412
            }
393
6.42k
        } else {
394
12.3M
            for (size_t i = 0; i < _count; ++i) {
395
12.3M
                f(index_check_const<is_const>(i), i, i);
396
12.3M
            }
397
6.42k
        }
398
6.65k
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
29
    void for_each_with_selector(Func& f) const {
388
29
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
3
            for (size_t i = 0; i < _count; ++i) {
391
2
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
2
            }
393
28
        } else {
394
56
            for (size_t i = 0; i < _count; ++i) {
395
28
                f(index_check_const<is_const>(i), i, i);
396
28
            }
397
28
        }
398
29
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSF_SI_SI_SI_E3$_0ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_1ZNS_19execute_if_selectorESA_SH_mSI_SI_SI_SI_E3$_2EEvRT_RT0_RT1_EUlmmmE_EEvSP_
Line
Count
Source
387
697
    void for_each_with_selector(Func& f) const {
388
697
        if (_selector != nullptr) {
389
18
            const auto& selector_data = *_selector;
390
60
            for (size_t i = 0; i < _count; ++i) {
391
42
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
42
            }
393
679
        } else {
394
9.02k
            for (size_t i = 0; i < _count; ++i) {
395
8.34k
                f(index_check_const<is_const>(i), i, i);
396
8.34k
            }
397
679
        }
398
697
    }
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
689
    void for_each_with_selector(Func& f) const {
388
689
        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
689
        } else {
394
727k
            for (size_t i = 0; i < _count; ++i) {
395
726k
                f(index_check_const<is_const>(i), i, i);
396
726k
            }
397
689
        }
398
689
    }
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
4.51k
    void for_each_with_selector(Func& f) const {
388
4.51k
        if (_selector != nullptr) {
389
47
            const auto& selector_data = *_selector;
390
140
            for (size_t i = 0; i < _count; ++i) {
391
93
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
93
            }
393
4.46k
        } else {
394
11.6M
            for (size_t i = 0; i < _count; ++i) {
395
11.6M
                f(index_check_const<is_const>(i), i, i);
396
11.6M
            }
397
4.46k
        }
398
4.51k
    }
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
14
    void for_each_with_selector(Func& f) const {
388
14
        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
14
        } else {
394
28
            for (size_t i = 0; i < _count; ++i) {
395
14
                f(index_check_const<is_const>(i), i, i);
396
14
            }
397
14
        }
398
14
    }
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
87
    void for_each_with_selector(Func& f) const {
388
87
        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
87
        } else {
394
322
            for (size_t i = 0; i < _count; ++i) {
395
235
                f(index_check_const<is_const>(i), i, i);
396
235
            }
397
87
        }
398
87
    }
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$_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_
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
11
    void for_each_with_selector(Func& f) const {
388
11
        if (_selector != nullptr) {
389
6
            const auto& selector_data = *_selector;
390
22
            for (size_t i = 0; i < _count; ++i) {
391
16
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
16
            }
393
6
        } else {
394
17
            for (size_t i = 0; i < _count; ++i) {
395
12
                f(index_check_const<is_const>(i), i, i);
396
12
            }
397
5
        }
398
11
    }
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_EUlmmmE_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_EUlmmmE_EEvSP_
Line
Count
Source
387
50
    void for_each_with_selector(Func& f) const {
388
50
        if (_selector != nullptr) {
389
50
            const auto& selector_data = *_selector;
390
177
            for (size_t i = 0; i < _count; ++i) {
391
127
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
127
            }
393
50
        } 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
50
    }
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
34
    void for_each_with_selector(Func& f) const {
388
34
        if (_selector != nullptr) {
389
34
            const auto& selector_data = *_selector;
390
84
            for (size_t i = 0; i < _count; ++i) {
391
50
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
50
            }
393
34
        } 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
34
    }
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
7
    void for_each_with_selector(Func& f) const {
388
7
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
2
            for (size_t i = 0; i < _count; ++i) {
391
1
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1
            }
393
6
        } else {
394
12
            for (size_t i = 0; i < _count; ++i) {
395
6
                f(index_check_const<is_const>(i), i, i);
396
6
            }
397
6
        }
398
7
    }
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
253
    void for_each_with_selector(Func& f) const {
388
253
        if (_selector != nullptr) {
389
10
            const auto& selector_data = *_selector;
390
27
            for (size_t i = 0; i < _count; ++i) {
391
17
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
17
            }
393
243
        } else {
394
1.01k
            for (size_t i = 0; i < _count; ++i) {
395
773
                f(index_check_const<is_const>(i), i, i);
396
773
            }
397
243
        }
398
253
    }
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
4
    void for_each_with_selector(Func& f) const {
388
4
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
4
        } else {
394
8
            for (size_t i = 0; i < _count; ++i) {
395
4
                f(index_check_const<is_const>(i), i, i);
396
4
            }
397
4
        }
398
4
    }
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
189
    void for_each_with_selector(Func& f) const {
388
189
        if (_selector != nullptr) {
389
4
            const auto& selector_data = *_selector;
390
8
            for (size_t i = 0; i < _count; ++i) {
391
4
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
4
            }
393
185
        } else {
394
692
            for (size_t i = 0; i < _count; ++i) {
395
507
                f(index_check_const<is_const>(i), i, i);
396
507
            }
397
185
        }
398
189
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
24
    void for_each_with_selector(Func& f) const {
388
24
        if (_selector != nullptr) {
389
0
            const auto& selector_data = *_selector;
390
0
            for (size_t i = 0; i < _count; ++i) {
391
0
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
0
            }
393
24
        } else {
394
48
            for (size_t i = 0; i < _count; ++i) {
395
24
                f(index_check_const<is_const>(i), i, i);
396
24
            }
397
24
        }
398
24
    }
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_0ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_1EEvRT_RT0_EUlmmmE0_EEvSO_
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb1EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE_EEvSO_
Line
Count
Source
387
13
    void for_each_with_selector(Func& f) const {
388
13
        if (_selector != nullptr) {
389
13
            const auto& selector_data = *_selector;
390
26
            for (size_t i = 0; i < _count; ++i) {
391
13
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
13
            }
393
13
        } 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
13
    }
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
19
    void for_each_with_selector(Func& f) const {
388
19
        if (_selector != nullptr) {
389
19
            const auto& selector_data = *_selector;
390
42
            for (size_t i = 0; i < _count; ++i) {
391
23
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
23
            }
393
19
        } 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
19
    }
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
17
    void for_each_with_selector(Func& f) const {
388
17
        if (_selector != nullptr) {
389
17
            const auto& selector_data = *_selector;
390
40
            for (size_t i = 0; i < _count; ++i) {
391
23
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
23
            }
393
17
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
17
    }
short_circuit_evaluation_expr.cpp:_ZNK5doris25ConditionColumnViewHelper22for_each_with_selectorILb0EZNKS_23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSH_RSF_SI_SI_SI_E3$_2ZNS_25execute_coalesce_selectorESA_SH_mSH_SI_SI_SI_SI_E3$_3EEvRT_RT0_EUlmmmE0_EEvSO_
Line
Count
Source
387
1
    void for_each_with_selector(Func& f) const {
388
1
        if (_selector != nullptr) {
389
1
            const auto& selector_data = *_selector;
390
2
            for (size_t i = 0; i < _count; ++i) {
391
1
                f(index_check_const<is_const>(i), i, selector_data[i]);
392
1
            }
393
1
        } else {
394
0
            for (size_t i = 0; i < _count; ++i) {
395
0
                f(index_check_const<is_const>(i), i, i);
396
0
            }
397
0
        }
398
1
    }
399
400
private:
401
    const Selector* _selector;
402
    const size_t _count;
403
};
404
405
// Utility class for columns that return boolean values.
406
// We care about whether the value is null, as well as true/false values.
407
struct ConditionColumnView : ColumnNullConstViewScalar<TYPE_BOOLEAN>, ConditionColumnViewHelper {
408
    ConditionColumnView(ColumnNullConstViewScalar<TYPE_BOOLEAN> base, const Selector* selector,
409
                        size_t count)
410
6.12k
            : ColumnNullConstViewScalar<TYPE_BOOLEAN>(base),
411
6.12k
              ConditionColumnViewHelper(selector, count) {}
412
413
    static ConditionColumnView create(const ColumnPtr& column_ptr, const Selector* selector,
414
6.12k
                                      size_t count) {
415
6.12k
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
416
6.12k
        return {ColumnNullConstViewScalar<TYPE_BOOLEAN>::create(column_ptr), selector, count};
417
6.12k
    }
418
419
    template <typename NullFunc, typename TrueFunc, typename FalseFunc>
420
6.12k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
6.12k
        if (this->null_map != nullptr) {
422
877
            const auto& null_map_data = *(this->null_map);
423
8.78k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
8.78k
                if (null_map_data[i]) {
425
191
                    null_func(self_index, executor_index);
426
8.59k
                } else {
427
8.59k
                    if (this->data[i]) {
428
3.79k
                        true_func(self_index, executor_index);
429
4.80k
                    } else {
430
4.80k
                        false_func(self_index, executor_index);
431
4.80k
                    }
432
8.59k
                }
433
8.78k
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE_clEmmm
Line
Count
Source
423
8.41k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
8.41k
                if (null_map_data[i]) {
425
139
                    null_func(self_index, executor_index);
426
8.27k
                } else {
427
8.27k
                    if (this->data[i]) {
428
3.63k
                        true_func(self_index, executor_index);
429
4.64k
                    } else {
430
4.64k
                        false_func(self_index, executor_index);
431
4.64k
                    }
432
8.27k
                }
433
8.41k
            };
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
249
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
249
                if (null_map_data[i]) {
425
43
                    null_func(self_index, executor_index);
426
206
                } else {
427
206
                    if (this->data[i]) {
428
118
                        true_func(self_index, executor_index);
429
118
                    } else {
430
88
                        false_func(self_index, executor_index);
431
88
                    }
432
206
                }
433
249
            };
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
127
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
127
                if (null_map_data[i]) {
425
9
                    null_func(self_index, executor_index);
426
118
                } else {
427
118
                    if (this->data[i]) {
428
40
                        true_func(self_index, executor_index);
429
78
                    } else {
430
78
                        false_func(self_index, executor_index);
431
78
                    }
432
118
                }
433
127
            };
434
877
            if (is_const) {
435
43
                for_each_with_selector<true>(update);
436
834
            } else {
437
834
                for_each_with_selector<false>(update);
438
834
            }
439
5.24k
        } else {
440
            // non-nullable condition column
441
12.3M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
12.3M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
2.37M
                    false_func(self_index, executor_index);
446
2.37M
                }
447
12.3M
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris19ConditionColumnView8for_eachIZNS_19execute_if_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_SG_E3$_0ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_1ZNS_19execute_if_selectorES8_SF_mSG_SG_SG_SG_E3$_2EEvRT_RT0_RT1_ENKUlmmmE0_clEmmm
Line
Count
Source
441
12.3M
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
12.3M
                if (this->data[i]) {
443
10.0M
                    true_func(self_index, executor_index);
444
10.0M
                } else {
445
2.37M
                    false_func(self_index, executor_index);
446
2.37M
                }
447
12.3M
            };
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
28
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
28
                if (this->data[i]) {
443
5
                    true_func(self_index, executor_index);
444
23
                } else {
445
23
                    false_func(self_index, executor_index);
446
23
                }
447
28
            };
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
50
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
50
                if (this->data[i]) {
443
33
                    true_func(self_index, executor_index);
444
33
                } else {
445
17
                    false_func(self_index, executor_index);
446
17
                }
447
50
            };
448
5.24k
            if (is_const) {
449
689
                for_each_with_selector<true>(update);
450
4.55k
            } else {
451
4.55k
                for_each_with_selector<false>(update);
452
4.55k
            }
453
5.24k
        }
454
6.12k
    }
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
5.92k
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
5.92k
        if (this->null_map != nullptr) {
422
726
            const auto& null_map_data = *(this->null_map);
423
726
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
726
                if (null_map_data[i]) {
425
726
                    null_func(self_index, executor_index);
426
726
                } else {
427
726
                    if (this->data[i]) {
428
726
                        true_func(self_index, executor_index);
429
726
                    } else {
430
726
                        false_func(self_index, executor_index);
431
726
                    }
432
726
                }
433
726
            };
434
726
            if (is_const) {
435
29
                for_each_with_selector<true>(update);
436
697
            } else {
437
697
                for_each_with_selector<false>(update);
438
697
            }
439
5.20k
        } else {
440
            // non-nullable condition column
441
5.20k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
5.20k
                if (this->data[i]) {
443
5.20k
                    true_func(self_index, executor_index);
444
5.20k
                } else {
445
5.20k
                    false_func(self_index, executor_index);
446
5.20k
                }
447
5.20k
            };
448
5.20k
            if (is_const) {
449
689
                for_each_with_selector<true>(update);
450
4.51k
            } else {
451
4.51k
                for_each_with_selector<false>(update);
452
4.51k
            }
453
5.20k
        }
454
5.92k
    }
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
112
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
112
        if (this->null_map != nullptr) {
422
101
            const auto& null_map_data = *(this->null_map);
423
101
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
101
                if (null_map_data[i]) {
425
101
                    null_func(self_index, executor_index);
426
101
                } else {
427
101
                    if (this->data[i]) {
428
101
                        true_func(self_index, executor_index);
429
101
                    } else {
430
101
                        false_func(self_index, executor_index);
431
101
                    }
432
101
                }
433
101
            };
434
101
            if (is_const) {
435
14
                for_each_with_selector<true>(update);
436
87
            } else {
437
87
                for_each_with_selector<false>(update);
438
87
            }
439
101
        } else {
440
            // non-nullable condition column
441
11
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
11
                if (this->data[i]) {
443
11
                    true_func(self_index, executor_index);
444
11
                } else {
445
11
                    false_func(self_index, executor_index);
446
11
                }
447
11
            };
448
11
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
11
            } else {
451
11
                for_each_with_selector<false>(update);
452
11
            }
453
11
        }
454
112
    }
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
84
    void for_each(NullFunc& null_func, TrueFunc& true_func, FalseFunc& false_func) const {
421
84
        if (this->null_map != nullptr) {
422
50
            const auto& null_map_data = *(this->null_map);
423
50
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
424
50
                if (null_map_data[i]) {
425
50
                    null_func(self_index, executor_index);
426
50
                } else {
427
50
                    if (this->data[i]) {
428
50
                        true_func(self_index, executor_index);
429
50
                    } else {
430
50
                        false_func(self_index, executor_index);
431
50
                    }
432
50
                }
433
50
            };
434
50
            if (is_const) {
435
0
                for_each_with_selector<true>(update);
436
50
            } else {
437
50
                for_each_with_selector<false>(update);
438
50
            }
439
50
        } else {
440
            // non-nullable condition column
441
34
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
442
34
                if (this->data[i]) {
443
34
                    true_func(self_index, executor_index);
444
34
                } else {
445
34
                    false_func(self_index, executor_index);
446
34
                }
447
34
            };
448
34
            if (is_const) {
449
0
                for_each_with_selector<true>(update);
450
34
            } else {
451
34
                for_each_with_selector<false>(update);
452
34
            }
453
34
        }
454
84
    }
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
532
            : ColumnNullConstView(base), ConditionColumnViewHelper(selector, count) {}
462
463
    static ConditionColumnNullView create(const ColumnPtr& column_ptr, const Selector* selector,
464
532
                                          size_t count) {
465
532
        DCHECK_EQ(selector == nullptr ? count : selector->size(), count);
466
532
        return {ColumnNullConstView::create(column_ptr), selector, count};
467
532
    }
468
469
    template <typename NullFunc, typename NotNullFunc>
470
527
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
527
        if (this->null_map != nullptr) {
472
485
            const auto& null_map_data = *(this->null_map);
473
1.34k
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
1.34k
                if (null_map_data[i]) {
475
177
                    null_func(self_index, executor_index);
476
1.17k
                } else {
477
1.17k
                    not_null_func(self_index, executor_index);
478
1.17k
                }
479
1.34k
            };
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
797
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
797
                if (null_map_data[i]) {
475
93
                    null_func(self_index, executor_index);
476
704
                } else {
477
704
                    not_null_func(self_index, executor_index);
478
704
                }
479
797
            };
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
515
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
515
                if (null_map_data[i]) {
475
54
                    null_func(self_index, executor_index);
476
461
                } else {
477
461
                    not_null_func(self_index, executor_index);
478
461
                }
479
515
            };
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
36
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
36
                if (null_map_data[i]) {
475
30
                    null_func(self_index, executor_index);
476
30
                } else {
477
6
                    not_null_func(self_index, executor_index);
478
6
                }
479
36
            };
480
485
            if (is_const) {
481
24
                for_each_with_selector<true>(update);
482
461
            } else {
483
461
                for_each_with_selector<false>(update);
484
461
            }
485
485
        } else {
486
            // non-nullable condition column
487
48
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
48
                not_null_func(self_index, executor_index);
489
48
            };
Unexecuted instantiation: short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_23execute_ifnull_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmRSD_SG_SG_E3$_0ZNS_23execute_ifnull_selectorES8_SF_mSG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_0ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_1EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
short_circuit_evaluation_expr.cpp:_ZZNK5doris23ConditionColumnNullView8for_eachIZNS_25execute_coalesce_selectorERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEPKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEmSF_RSD_SG_SG_SG_E3$_2ZNS_25execute_coalesce_selectorES8_SF_mSF_SG_SG_SG_SG_E3$_3EEvRT_RT0_ENKUlmmmE0_clEmmm
Line
Count
Source
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
490
42
            if (is_const) {
491
41
                for_each_with_selector<true>(update);
492
41
            } else {
493
1
                for_each_with_selector<false>(update);
494
1
            }
495
42
        }
496
527
    }
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
260
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
260
        if (this->null_map != nullptr) {
472
260
            const auto& null_map_data = *(this->null_map);
473
260
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
260
                if (null_map_data[i]) {
475
260
                    null_func(self_index, executor_index);
476
260
                } else {
477
260
                    not_null_func(self_index, executor_index);
478
260
                }
479
260
            };
480
260
            if (is_const) {
481
7
                for_each_with_selector<true>(update);
482
253
            } else {
483
253
                for_each_with_selector<false>(update);
484
253
            }
485
260
        } 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
260
    }
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
217
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
217
        if (this->null_map != nullptr) {
472
193
            const auto& null_map_data = *(this->null_map);
473
193
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
193
                if (null_map_data[i]) {
475
193
                    null_func(self_index, executor_index);
476
193
                } else {
477
193
                    not_null_func(self_index, executor_index);
478
193
                }
479
193
            };
480
193
            if (is_const) {
481
4
                for_each_with_selector<true>(update);
482
189
            } else {
483
189
                for_each_with_selector<false>(update);
484
189
            }
485
193
        } else {
486
            // non-nullable condition column
487
24
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
24
                not_null_func(self_index, executor_index);
489
24
            };
490
24
            if (is_const) {
491
24
                for_each_with_selector<true>(update);
492
24
            } else {
493
0
                for_each_with_selector<false>(update);
494
0
            }
495
24
        }
496
217
    }
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
50
    void for_each(NullFunc& null_func, NotNullFunc& not_null_func) const {
471
50
        if (this->null_map != nullptr) {
472
32
            const auto& null_map_data = *(this->null_map);
473
32
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
474
32
                if (null_map_data[i]) {
475
32
                    null_func(self_index, executor_index);
476
32
                } else {
477
32
                    not_null_func(self_index, executor_index);
478
32
                }
479
32
            };
480
32
            if (is_const) {
481
13
                for_each_with_selector<true>(update);
482
19
            } else {
483
19
                for_each_with_selector<false>(update);
484
19
            }
485
32
        } else {
486
            // non-nullable condition column
487
18
            auto update = [&](size_t i, size_t self_index, size_t executor_index) {
488
18
                not_null_func(self_index, executor_index);
489
18
            };
490
18
            if (is_const) {
491
17
                for_each_with_selector<true>(update);
492
17
            } else {
493
1
                for_each_with_selector<false>(update);
494
1
            }
495
18
        }
496
50
    }
497
};
498
499
} // namespace doris