Coverage Report

Created: 2026-06-09 17:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/array/function_array_element.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
// This file is copied from
18
// https://github.com/ClickHouse/ClickHouse/blob/master/src/Functions/array/arrayElement.cpp
19
// and modified by Doris
20
21
#pragma once
22
23
#include <glog/logging.h>
24
#include <string.h>
25
26
#include <algorithm>
27
#include <boost/iterator/iterator_facade.hpp>
28
#include <memory>
29
#include <optional>
30
#include <ostream>
31
#include <string>
32
#include <utility>
33
34
#include "common/status.h"
35
#include "core/assert_cast.h"
36
#include "core/block/block.h"
37
#include "core/block/column_numbers.h"
38
#include "core/block/column_with_type_and_name.h"
39
#include "core/block/columns_with_type_and_name.h"
40
#include "core/call_on_type_index.h"
41
#include "core/column/column.h"
42
#include "core/column/column_array.h"
43
#include "core/column/column_decimal.h"
44
#include "core/column/column_map.h"
45
#include "core/column/column_nullable.h"
46
#include "core/column/column_string.h"
47
#include "core/column/column_struct.h"
48
#include "core/column/column_vector.h"
49
#include "core/data_type/data_type.h"
50
#include "core/data_type/data_type_array.h"
51
#include "core/data_type/data_type_map.h"
52
#include "core/data_type/data_type_nullable.h"
53
#include "core/data_type/data_type_number.h"
54
#include "core/data_type/data_type_struct.h"
55
#include "core/data_type/primitive_type.h"
56
#include "core/types.h"
57
#include "exprs/function/function.h"
58
#include "exprs/function/function_helpers.h"
59
60
namespace doris {
61
class FunctionContext;
62
} // namespace doris
63
64
namespace doris {
65
66
class FunctionArrayElement : public IFunction {
67
public:
68
    using MapIndiceDataType = DataTypeInt64;
69
70
    static constexpr auto name = "element_at";
71
17
    static FunctionPtr create() { return std::make_shared<FunctionArrayElement>(); }
72
73
    /// Get function name.
74
2
    String get_name() const override { return name; }
75
76
16
    bool is_variadic() const override { return false; }
77
78
27
    bool use_default_implementation_for_nulls() const override { return false; }
79
80
15
    size_t get_number_of_arguments() const override { return 2; }
81
82
    // A struct field access (element_at(struct, const) / the struct_element alias) resolves to a
83
    // different return type depending on which field the constant index selects, so we need the
84
    // index column here. Array/map return types depend only on the argument types and fall through
85
    // to the DataTypes-based overload below.
86
15
    DataTypePtr get_return_type_impl(const ColumnsWithTypeAndName& arguments) const override {
87
15
        DataTypePtr arg_0 = remove_nullable(arguments[0].type);
88
15
        if (arg_0->get_primitive_type() == TYPE_STRUCT) {
89
4
            const auto* struct_type = check_and_get_data_type<DataTypeStruct>(arg_0.get());
90
4
            size_t index = 0;
91
            // Throw the concrete error (field not found / out of bound) instead of returning
92
            // nullptr, which the framework would report as an opaque "return type check failed".
93
4
            Status st = get_struct_element_index(*struct_type, arguments[1].column,
94
4
                                                 arguments[1].type, &index);
95
4
            if (!st.ok()) {
96
1
                throw doris::Exception(st);
97
1
            }
98
3
            return make_nullable(struct_type->get_elements()[index]);
99
4
        }
100
11
        DataTypes data_types(arguments.size());
101
33
        for (size_t i = 0; i < arguments.size(); ++i) {
102
22
            data_types[i] = arguments[i].type;
103
22
        }
104
11
        return get_return_type_impl(data_types);
105
15
    }
106
107
11
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
108
11
        DataTypePtr arg_0 = remove_nullable(arguments[0]);
109
11
        DCHECK(arg_0->get_primitive_type() == TYPE_ARRAY || arg_0->get_primitive_type() == TYPE_MAP)
110
0
                << "first argument for function: " << name
111
0
                << " should be DataTypeArray or DataTypeMap, but it is " << arg_0->get_name();
112
11
        if (arg_0->get_primitive_type() == TYPE_ARRAY) {
113
11
            DCHECK(is_int_or_bool(arguments[1]->get_primitive_type()))
114
0
                    << "second argument for function: " << name
115
0
                    << " should be Integer for array element";
116
11
            return make_nullable(
117
11
                    check_and_get_data_type<DataTypeArray>(arg_0.get())->get_nested_type());
118
11
        } else if (arg_0->get_primitive_type() == TYPE_MAP) {
119
0
            return make_nullable(
120
0
                    check_and_get_data_type<DataTypeMap>(arg_0.get())->get_value_type());
121
0
        } else {
122
0
            throw doris::Exception(
123
0
                    ErrorCode::INVALID_ARGUMENT,
124
0
                    fmt::format("element_at only support array and map so far, but got {}",
125
0
                                arg_0->get_name()));
126
0
        }
127
11
    }
128
129
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
130
12
                        uint32_t result, size_t input_rows_count) const override {
131
12
        if (remove_nullable(block.get_by_position(arguments[0]).type)->get_primitive_type() ==
132
12
            TYPE_STRUCT) {
133
1
            return _execute_struct(block, arguments, result, input_rows_count);
134
1
        }
135
11
        auto dst_null_column = ColumnUInt8::create(input_rows_count, 0);
136
11
        UInt8* dst_null_map = dst_null_column->get_data().data();
137
11
        const UInt8* src_null_map = nullptr;
138
11
        ColumnsWithTypeAndName args;
139
11
        ColumnPtr res_column = nullptr;
140
141
11
        auto col_left_raw = block.get_by_position(arguments[0]);
142
        // Map element lookup requires row-aligned offsets; keep original path for map type.
143
11
        if (remove_nullable(col_left_raw.type)->get_primitive_type() == TYPE_MAP) {
144
0
            block.replace_by_position(arguments[0],
145
0
                                      col_left_raw.column->convert_to_full_column_if_const());
146
0
            auto col_left = block.get_by_position(arguments[0]);
147
0
            if (col_left.column->is_nullable()) {
148
0
                const auto* null_col = assert_cast<const ColumnNullable*>(col_left.column.get());
149
0
                src_null_map = null_col->get_null_map_column().get_data().data();
150
0
                args = {{null_col->get_nested_column_ptr(), remove_nullable(col_left.type),
151
0
                         col_left.name},
152
0
                        block.get_by_position(arguments[1])};
153
0
            } else {
154
0
                args = {col_left, block.get_by_position(arguments[1])};
155
0
            }
156
0
            res_column = _execute_map(args, input_rows_count, src_null_map, dst_null_map);
157
11
        } else {
158
            // Array element access: avoid materializing a constant array column.
159
            // A literal like [[1],[2]] becomes ColumnConst with a single-row inner column;
160
            // unpack_if_const() gives us that inner column plus a constancy flag so inner
161
            // loops can use index_check_const() instead of expanding N copies.
162
11
            auto [unpacked_col, is_const_array] = unpack_if_const(col_left_raw.column);
163
11
            if (unpacked_col->is_nullable()) {
164
11
                const auto* null_col = assert_cast<const ColumnNullable*>(unpacked_col.get());
165
11
                src_null_map = null_col->get_null_map_column().get_data().data();
166
11
                args = {{null_col->get_nested_column_ptr(), remove_nullable(col_left_raw.type),
167
11
                         col_left_raw.name},
168
11
                        block.get_by_position(arguments[1])};
169
11
            } else {
170
0
                args = {{unpacked_col, col_left_raw.type, col_left_raw.name},
171
0
                        block.get_by_position(arguments[1])};
172
0
            }
173
11
            res_column = _execute_nullable(args, input_rows_count, src_null_map, dst_null_map,
174
11
                                           is_const_array);
175
11
        }
176
11
        if (!res_column) {
177
0
            return Status::RuntimeError("unsupported types for function {}({}, {})", get_name(),
178
0
                                        block.get_by_position(arguments[0]).type->get_name(),
179
0
                                        block.get_by_position(arguments[1]).type->get_name());
180
0
        }
181
11
        block.replace_by_position(result,
182
11
                                  ColumnNullable::create(res_column, std::move(dst_null_column)));
183
11
        return Status::OK();
184
11
    }
185
186
private:
187
    //=========================== struct element===========================//
188
    // Resolve the 0-based field offset selected by a constant int/string index. Mirrors the logic
189
    // of the former struct_element function, which element_at now subsumes.
190
    Status get_struct_element_index(const DataTypeStruct& struct_type,
191
                                    const ColumnPtr& index_column, const DataTypePtr& index_type,
192
5
                                    size_t* result) const {
193
5
        if (!index_column) {
194
0
            return Status::RuntimeError("Function {}: second argument column is nullptr.",
195
0
                                        get_name());
196
0
        }
197
5
        size_t index = 0;
198
5
        if (is_int_or_bool(index_type->get_primitive_type())) {
199
0
            int64_t offset = index_column->get_int(0);
200
0
            size_t limit = struct_type.get_elements().size() + 1;
201
0
            if (offset < 1 || offset >= static_cast<int64_t>(limit)) {
202
0
                return Status::RuntimeError(
203
0
                        "Index out of bound for function {}: index {} should base from 1 and less "
204
0
                        "than {}.",
205
0
                        get_name(), offset, limit);
206
0
            }
207
0
            index = offset - 1; // the index starts from 1
208
5
        } else if (is_string_type(index_type->get_primitive_type())) {
209
5
            std::string field_name = index_column->get_data_at(0).to_string();
210
5
            std::optional<size_t> pos = struct_type.try_get_position_by_name(field_name);
211
5
            if (!pos.has_value()) {
212
1
                return Status::RuntimeError(
213
1
                        "Element not found for function {}: name {} not found in {}.", get_name(),
214
1
                        field_name, struct_type.get_name());
215
1
            }
216
4
            index = pos.value();
217
4
        } else {
218
0
            return Status::RuntimeError(
219
0
                    "Argument not supported for function {}: second arg type {} should be int or "
220
0
                    "string.",
221
0
                    get_name(), index_type->get_name());
222
0
        }
223
4
        *result = index;
224
4
        return Status::OK();
225
5
    }
226
227
    Status _execute_struct(Block& block, const ColumnNumbers& arguments, uint32_t result,
228
1
                           size_t input_rows_count) const {
229
1
        const auto& struct_arg = block.get_by_position(arguments[0]);
230
1
        ColumnPtr struct_col_ptr = struct_arg.column->convert_to_full_column_if_const();
231
        // element_at manages nulls itself (use_default_implementation_for_nulls() == false), so a
232
        // null struct row must be merged into the result null map manually.
233
1
        const ColumnUInt8* outer_null_map = nullptr;
234
1
        if (struct_col_ptr->is_nullable()) {
235
0
            const auto* nullable = assert_cast<const ColumnNullable*>(struct_col_ptr.get());
236
0
            outer_null_map = &nullable->get_null_map_column();
237
0
            struct_col_ptr = nullable->get_nested_column_ptr();
238
0
        }
239
1
        const auto* struct_type =
240
1
                check_and_get_data_type<DataTypeStruct>(remove_nullable(struct_arg.type).get());
241
1
        const auto* struct_col = check_and_get_column<ColumnStruct>(struct_col_ptr.get());
242
1
        if (!struct_col || !struct_type) {
243
0
            return Status::RuntimeError("unsupported types for function {}({}, {})", get_name(),
244
0
                                        struct_arg.type->get_name(),
245
0
                                        block.get_by_position(arguments[1]).type->get_name());
246
0
        }
247
1
        const auto& index_arg = block.get_by_position(arguments[1]);
248
1
        size_t index = 0;
249
1
        RETURN_IF_ERROR(
250
1
                get_struct_element_index(*struct_type, index_arg.column, index_arg.type, &index));
251
252
1
        ColumnPtr field_col = struct_col->get_column_ptr(index);
253
1
        auto res_null_column = ColumnUInt8::create(input_rows_count, 0);
254
1
        auto& res_null_map = res_null_column->get_data();
255
1
        ColumnPtr res_nested = field_col;
256
1
        if (field_col->is_nullable()) {
257
0
            const auto* field_nullable = assert_cast<const ColumnNullable*>(field_col.get());
258
0
            const auto& field_null_map = field_nullable->get_null_map_column().get_data();
259
0
            memcpy(res_null_map.data(), field_null_map.data(), input_rows_count);
260
0
            res_nested = field_nullable->get_nested_column_ptr();
261
0
        }
262
1
        if (outer_null_map) {
263
0
            const auto& outer = outer_null_map->get_data();
264
0
            for (size_t i = 0; i < input_rows_count; ++i) {
265
0
                res_null_map[i] |= outer[i];
266
0
            }
267
0
        }
268
1
        block.replace_by_position(
269
1
                result, ColumnNullable::create(res_nested->clone_resized(input_rows_count),
270
1
                                               std::move(res_null_column)));
271
1
        return Status::OK();
272
1
    }
273
274
    //=========================== map element===========================//
275
    ColumnPtr _get_mapped_idx(const ColumnArray& column,
276
0
                              const ColumnWithTypeAndName& argument) const {
277
0
        auto right_column = make_nullable(argument.column->convert_to_full_column_if_const());
278
0
        const ColumnArray::Offsets64& offsets = column.get_offsets();
279
0
        ColumnPtr nested_ptr = make_nullable(column.get_data_ptr());
280
0
        size_t rows = offsets.size();
281
        // prepare return data
282
0
        auto matched_indices = ColumnVector<MapIndiceDataType::PType>::create();
283
0
        matched_indices->reserve(rows);
284
285
0
        for (size_t i = 0; i < rows; i++) {
286
0
            bool matched = false;
287
0
            size_t begin = offsets[i - 1];
288
0
            size_t end = offsets[i];
289
0
            for (size_t j = begin; j < end; j++) {
290
0
                if (nested_ptr->compare_at(j, i, *right_column, -1) == 0) {
291
0
                    matched_indices->insert_value(
292
0
                            cast_set<MapIndiceDataType::FieldType, size_t, false>(j - begin + 1));
293
0
                    matched = true;
294
0
                    break;
295
0
                }
296
0
            }
297
298
0
            if (!matched) {
299
0
                matched_indices->insert_value(cast_set<MapIndiceDataType::FieldType, size_t, false>(
300
0
                        end - begin + 1)); // make indices for null
301
0
            }
302
0
        }
303
304
0
        return matched_indices;
305
0
    }
306
307
    template <typename ColumnType, typename IndexColumnType>
308
    ColumnPtr _execute_number(const ColumnArray::Offsets64& offsets, const IColumn& nested_column,
309
                              const UInt8* arr_null_map, const IColumn& indices,
310
                              const UInt8* nested_null_map, UInt8* dst_null_map,
311
                              const UInt8* idx_null_map, bool is_const_index, bool is_const_array,
312
9
                              size_t input_rows_count) const {
313
9
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
314
9
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
315
316
9
        auto dst_column = nested_column.clone_empty();
317
9
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
318
9
        dst_data.resize(input_rows_count);
319
320
4.16k
        for (size_t row = 0; row < input_rows_count; ++row) {
321
4.15k
            size_t arr_row = index_check_const(row, is_const_array);
322
4.15k
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
323
4.15k
            size_t len = offsets[arr_row] - off;
324
4.15k
            size_t idx = index_check_const(row, is_const_index);
325
4.15k
            auto index =
326
4.15k
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
327
4.15k
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
328
4.15k
            if (!null_flag && index > 0 && index <= len) {
329
3.08k
                index += off - 1;
330
3.08k
            } else if (!null_flag && index < 0 && -index <= len) {
331
12
                index += off + len;
332
1.06k
            } else {
333
1.06k
                null_flag = true;
334
1.06k
            }
335
4.15k
            if (!null_flag && nested_null_map && nested_null_map[index]) {
336
0
                null_flag = true;
337
0
            }
338
4.15k
            dst_null_map[row] = null_flag;
339
4.15k
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
340
4.15k
        }
341
9
        return dst_column;
342
9
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE2EEES4_EENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE3EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE4EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE5EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE6EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE7EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE8EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE9EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE28EEENS_12ColumnVectorILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE29EEENS_12ColumnVectorILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE20EEENS_12ColumnVectorILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE30EEENS_12ColumnVectorILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE35EEENS_12ColumnVectorILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE11EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE25EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE26EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE12EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE27EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE42EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE36EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE37EEENS2_ILS3_2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE2EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE3EEES4_EENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE4EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE5EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE6EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE7EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE8EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE9EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE28EEENS_12ColumnVectorILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE29EEENS_12ColumnVectorILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE20EEENS_12ColumnVectorILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE30EEENS_12ColumnVectorILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE35EEENS_12ColumnVectorILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE11EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE25EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE26EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE12EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE27EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE42EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE36EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE37EEENS2_ILS3_3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE2EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE3EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE4EEES4_EENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE5EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE6EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE7EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE8EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE9EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE28EEENS_12ColumnVectorILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE29EEENS_12ColumnVectorILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE20EEENS_12ColumnVectorILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE30EEENS_12ColumnVectorILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE35EEENS_12ColumnVectorILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE11EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE25EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE26EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE12EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE27EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE42EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE36EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE37EEENS2_ILS3_4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE2EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
_ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE3EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Line
Count
Source
312
1
                              size_t input_rows_count) const {
313
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
314
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
315
316
1
        auto dst_column = nested_column.clone_empty();
317
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
318
1
        dst_data.resize(input_rows_count);
319
320
10
        for (size_t row = 0; row < input_rows_count; ++row) {
321
9
            size_t arr_row = index_check_const(row, is_const_array);
322
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
323
9
            size_t len = offsets[arr_row] - off;
324
9
            size_t idx = index_check_const(row, is_const_index);
325
9
            auto index =
326
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
327
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
328
9
            if (!null_flag && index > 0 && index <= len) {
329
1
                index += off - 1;
330
8
            } else if (!null_flag && index < 0 && -index <= len) {
331
2
                index += off + len;
332
6
            } else {
333
6
                null_flag = true;
334
6
            }
335
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
336
0
                null_flag = true;
337
0
            }
338
9
            dst_null_map[row] = null_flag;
339
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
340
9
        }
341
1
        return dst_column;
342
1
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE4EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
_ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE5EEES4_EENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Line
Count
Source
312
5
                              size_t input_rows_count) const {
313
5
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
314
5
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
315
316
5
        auto dst_column = nested_column.clone_empty();
317
5
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
318
5
        dst_data.resize(input_rows_count);
319
320
4.12k
        for (size_t row = 0; row < input_rows_count; ++row) {
321
4.12k
            size_t arr_row = index_check_const(row, is_const_array);
322
4.12k
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
323
4.12k
            size_t len = offsets[arr_row] - off;
324
4.12k
            size_t idx = index_check_const(row, is_const_index);
325
4.12k
            auto index =
326
4.12k
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
327
4.12k
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
328
4.12k
            if (!null_flag && index > 0 && index <= len) {
329
3.07k
                index += off - 1;
330
3.07k
            } else if (!null_flag && index < 0 && -index <= len) {
331
4
                index += off + len;
332
1.04k
            } else {
333
1.04k
                null_flag = true;
334
1.04k
            }
335
4.12k
            if (!null_flag && nested_null_map && nested_null_map[index]) {
336
0
                null_flag = true;
337
0
            }
338
4.12k
            dst_null_map[row] = null_flag;
339
4.12k
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
340
4.12k
        }
341
5
        return dst_column;
342
5
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE6EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE7EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE8EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE9EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE28EEENS_12ColumnVectorILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE29EEENS_12ColumnVectorILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE20EEENS_12ColumnVectorILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE30EEENS_12ColumnVectorILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE35EEENS_12ColumnVectorILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE11EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE25EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE26EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE12EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE27EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE42EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE36EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE37EEENS2_ILS3_5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE2EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE3EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE4EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE5EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE6EEES4_EENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
_ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE7EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Line
Count
Source
312
1
                              size_t input_rows_count) const {
313
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
314
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
315
316
1
        auto dst_column = nested_column.clone_empty();
317
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
318
1
        dst_data.resize(input_rows_count);
319
320
10
        for (size_t row = 0; row < input_rows_count; ++row) {
321
9
            size_t arr_row = index_check_const(row, is_const_array);
322
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
323
9
            size_t len = offsets[arr_row] - off;
324
9
            size_t idx = index_check_const(row, is_const_index);
325
9
            auto index =
326
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
327
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
328
9
            if (!null_flag && index > 0 && index <= len) {
329
1
                index += off - 1;
330
8
            } else if (!null_flag && index < 0 && -index <= len) {
331
2
                index += off + len;
332
6
            } else {
333
6
                null_flag = true;
334
6
            }
335
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
336
0
                null_flag = true;
337
0
            }
338
9
            dst_null_map[row] = null_flag;
339
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
340
9
        }
341
1
        return dst_column;
342
1
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE8EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
_ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE9EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Line
Count
Source
312
1
                              size_t input_rows_count) const {
313
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
314
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
315
316
1
        auto dst_column = nested_column.clone_empty();
317
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
318
1
        dst_data.resize(input_rows_count);
319
320
10
        for (size_t row = 0; row < input_rows_count; ++row) {
321
9
            size_t arr_row = index_check_const(row, is_const_array);
322
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
323
9
            size_t len = offsets[arr_row] - off;
324
9
            size_t idx = index_check_const(row, is_const_index);
325
9
            auto index =
326
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
327
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
328
9
            if (!null_flag && index > 0 && index <= len) {
329
1
                index += off - 1;
330
8
            } else if (!null_flag && index < 0 && -index <= len) {
331
2
                index += off + len;
332
6
            } else {
333
6
                null_flag = true;
334
6
            }
335
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
336
0
                null_flag = true;
337
0
            }
338
9
            dst_null_map[row] = null_flag;
339
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
340
9
        }
341
1
        return dst_column;
342
1
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE28EEENS_12ColumnVectorILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE29EEENS_12ColumnVectorILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
_ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE20EEENS_12ColumnVectorILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Line
Count
Source
312
1
                              size_t input_rows_count) const {
313
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
314
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
315
316
1
        auto dst_column = nested_column.clone_empty();
317
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
318
1
        dst_data.resize(input_rows_count);
319
320
10
        for (size_t row = 0; row < input_rows_count; ++row) {
321
9
            size_t arr_row = index_check_const(row, is_const_array);
322
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
323
9
            size_t len = offsets[arr_row] - off;
324
9
            size_t idx = index_check_const(row, is_const_index);
325
9
            auto index =
326
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
327
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
328
9
            if (!null_flag && index > 0 && index <= len) {
329
1
                index += off - 1;
330
8
            } else if (!null_flag && index < 0 && -index <= len) {
331
2
                index += off + len;
332
6
            } else {
333
6
                null_flag = true;
334
6
            }
335
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
336
0
                null_flag = true;
337
0
            }
338
9
            dst_null_map[row] = null_flag;
339
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
340
9
        }
341
1
        return dst_column;
342
1
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE30EEENS_12ColumnVectorILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE35EEENS_12ColumnVectorILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE11EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE25EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE26EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE12EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE27EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE42EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE36EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE37EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE2EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE3EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE4EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE5EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE6EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE7EEES4_EENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE8EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE9EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE28EEENS_12ColumnVectorILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE29EEENS_12ColumnVectorILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE20EEENS_12ColumnVectorILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE30EEENS_12ColumnVectorILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_13ColumnDecimalILNS_13PrimitiveTypeE35EEENS_12ColumnVectorILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS8_PKhSK_SM_PhSM_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE11EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE25EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE26EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE12EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE27EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE42EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE36EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE37EEENS2_ILS3_7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
343
344
    template <typename IndexColumnType>
345
    ColumnPtr _execute_string(const ColumnArray::Offsets64& offsets, const IColumn& nested_column,
346
                              const UInt8* arr_null_map, const IColumn& indices,
347
                              const UInt8* nested_null_map, UInt8* dst_null_map,
348
                              const UInt8* idx_null_map, bool is_const_index, bool is_const_array,
349
2
                              size_t input_rows_count) const {
350
2
        const auto& src_str_offs =
351
2
                reinterpret_cast<const ColumnString&>(nested_column).get_offsets();
352
2
        const auto& src_str_chars =
353
2
                reinterpret_cast<const ColumnString&>(nested_column).get_chars();
354
2
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
355
356
        // prepare return data
357
2
        auto dst_column = ColumnString::create();
358
2
        auto& dst_str_offs = dst_column->get_offsets();
359
2
        dst_str_offs.resize(input_rows_count);
360
2
        auto& dst_str_chars = dst_column->get_chars();
361
2
        dst_str_chars.reserve(src_str_chars.size());
362
363
16
        for (size_t row = 0; row < input_rows_count; ++row) {
364
14
            size_t arr_row = index_check_const(row, is_const_array);
365
14
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
366
14
            size_t len = offsets[arr_row] - off;
367
14
            size_t idx = index_check_const(row, is_const_index);
368
14
            auto index =
369
14
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
370
14
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
371
14
            if (!null_flag && index > 0 && index <= len) {
372
5
                index += off - 1;
373
9
            } else if (!null_flag && index < 0 && -index <= len) {
374
2
                index += off + len;
375
7
            } else {
376
7
                null_flag = true;
377
7
            }
378
14
            if (!null_flag && nested_null_map && nested_null_map[index]) {
379
0
                null_flag = true;
380
0
            }
381
14
            if (!null_flag) {
382
7
                dst_null_map[row] = false;
383
7
                auto element_size = src_str_offs[index] - src_str_offs[index - 1];
384
7
                dst_str_offs[row] = (row == 0 ? 0 : dst_str_offs[row - 1]) + element_size;
385
7
                auto src_string_pos = src_str_offs[index - 1];
386
7
                auto dst_string_pos = row == 0 ? 0 : dst_str_offs[row - 1];
387
7
                dst_str_chars.resize(dst_string_pos + element_size);
388
7
                memcpy(&dst_str_chars[dst_string_pos], &src_str_chars[src_string_pos],
389
7
                       element_size);
390
7
            } else {
391
7
                dst_null_map[row] = true;
392
7
                dst_str_offs[row] = row == 0 ? 0 : dst_str_offs[row - 1];
393
7
            }
394
14
        }
395
2
        return dst_column;
396
2
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
_ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Line
Count
Source
349
2
                              size_t input_rows_count) const {
350
2
        const auto& src_str_offs =
351
2
                reinterpret_cast<const ColumnString&>(nested_column).get_offsets();
352
2
        const auto& src_str_chars =
353
2
                reinterpret_cast<const ColumnString&>(nested_column).get_chars();
354
2
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
355
356
        // prepare return data
357
2
        auto dst_column = ColumnString::create();
358
2
        auto& dst_str_offs = dst_column->get_offsets();
359
2
        dst_str_offs.resize(input_rows_count);
360
2
        auto& dst_str_chars = dst_column->get_chars();
361
2
        dst_str_chars.reserve(src_str_chars.size());
362
363
16
        for (size_t row = 0; row < input_rows_count; ++row) {
364
14
            size_t arr_row = index_check_const(row, is_const_array);
365
14
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
366
14
            size_t len = offsets[arr_row] - off;
367
14
            size_t idx = index_check_const(row, is_const_index);
368
14
            auto index =
369
14
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
370
14
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
371
14
            if (!null_flag && index > 0 && index <= len) {
372
5
                index += off - 1;
373
9
            } else if (!null_flag && index < 0 && -index <= len) {
374
2
                index += off + len;
375
7
            } else {
376
7
                null_flag = true;
377
7
            }
378
14
            if (!null_flag && nested_null_map && nested_null_map[index]) {
379
0
                null_flag = true;
380
0
            }
381
14
            if (!null_flag) {
382
7
                dst_null_map[row] = false;
383
7
                auto element_size = src_str_offs[index] - src_str_offs[index - 1];
384
7
                dst_str_offs[row] = (row == 0 ? 0 : dst_str_offs[row - 1]) + element_size;
385
7
                auto src_string_pos = src_str_offs[index - 1];
386
7
                auto dst_string_pos = row == 0 ? 0 : dst_str_offs[row - 1];
387
7
                dst_str_chars.resize(dst_string_pos + element_size);
388
7
                memcpy(&dst_str_chars[dst_string_pos], &src_str_chars[src_string_pos],
389
7
                       element_size);
390
7
            } else {
391
7
                dst_null_map[row] = true;
392
7
                dst_str_offs[row] = row == 0 ? 0 : dst_str_offs[row - 1];
393
7
            }
394
14
        }
395
2
        return dst_column;
396
2
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
397
398
    ColumnPtr _execute_map(const ColumnsWithTypeAndName& arguments, size_t input_rows_count,
399
0
                           const UInt8* src_null_map, UInt8* dst_null_map) const {
400
0
        auto left_column = arguments[0].column->convert_to_full_column_if_const();
401
0
        DataTypePtr val_type =
402
0
                reinterpret_cast<const DataTypeMap&>(*arguments[0].type).get_value_type();
403
0
        const auto& map_column = reinterpret_cast<const ColumnMap&>(*left_column);
404
405
        // create column array to find keys
406
0
        auto key_arr = ColumnArray::create(map_column.get_keys_ptr(), map_column.get_offsets_ptr());
407
0
        auto val_arr =
408
0
                ColumnArray::create(map_column.get_values_ptr(), map_column.get_offsets_ptr());
409
410
0
        ColumnPtr matched_indices = _get_mapped_idx(*key_arr, arguments[1]);
411
0
        if (!matched_indices) {
412
0
            return nullptr;
413
0
        }
414
0
        DataTypePtr indices_type(std::make_shared<MapIndiceDataType>());
415
0
        ColumnWithTypeAndName indices(matched_indices, indices_type, "indices");
416
0
        ColumnWithTypeAndName data(std::move(val_arr), std::make_shared<DataTypeArray>(val_type),
417
0
                                   "value");
418
0
        ColumnsWithTypeAndName args = {data, indices};
419
0
        return _execute_nullable(args, input_rows_count, src_null_map, dst_null_map, false);
420
0
    }
421
422
    template <typename IndexColumnType>
423
    ColumnPtr _execute_common(const ColumnArray::Offsets64& offsets, const IColumn& nested_column,
424
                              const UInt8* arr_null_map, const IColumn& indices,
425
                              const UInt8* nested_null_map, UInt8* dst_null_map,
426
                              const UInt8* idx_null_map, bool is_const_index, bool is_const_array,
427
0
                              size_t input_rows_count) const {
428
0
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
429
430
0
        auto dst_column = nested_column.clone_empty();
431
0
        dst_column->reserve(input_rows_count);
432
433
0
        for (size_t row = 0; row < input_rows_count; ++row) {
434
0
            size_t arr_row = index_check_const(row, is_const_array);
435
0
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
436
0
            size_t len = offsets[arr_row] - off;
437
0
            size_t idx = index_check_const(row, is_const_index);
438
0
            auto index =
439
0
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
440
0
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
441
0
            if (!null_flag && index > 0 && index <= len) {
442
0
                index += off - 1;
443
0
            } else if (!null_flag && index < 0 && -index <= len) {
444
0
                index += off + len;
445
0
            } else {
446
0
                null_flag = true;
447
0
            }
448
0
            if (!null_flag && nested_null_map && nested_null_map[index]) {
449
0
                null_flag = true;
450
0
            }
451
0
            if (!null_flag) {
452
0
                dst_null_map[row] = false;
453
0
                dst_column->insert_from(nested_column, index);
454
0
            } else {
455
0
                dst_null_map[row] = true;
456
0
                dst_column->insert_default();
457
0
            }
458
0
        }
459
0
        return dst_column;
460
0
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE2EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
461
462
    ColumnPtr _execute_nullable(const ColumnsWithTypeAndName& arguments, size_t input_rows_count,
463
                                const UInt8* src_null_map, UInt8* dst_null_map,
464
11
                                bool is_const_array) const {
465
        // arguments[0].column is already the raw ColumnArray (possibly size-1 when is_const_array).
466
        // Do NOT call convert_to_full_column_if_const() here; const-awareness is handled below
467
        // via index_check_const(row, is_const_array).
468
11
        const auto& array_column = assert_cast<const ColumnArray&>(*arguments[0].column);
469
11
        const auto& offsets = array_column.get_offsets();
470
11
        DCHECK(is_const_array ? offsets.size() == 1 : offsets.size() == input_rows_count);
471
11
        const UInt8* nested_null_map = nullptr;
472
11
        ColumnPtr nested_column = nullptr;
473
11
        if (is_column_nullable(array_column.get_data())) {
474
6
            const auto& nested_null_column =
475
6
                    reinterpret_cast<const ColumnNullable&>(array_column.get_data());
476
6
            nested_null_map = nested_null_column.get_null_map_column().get_data().data();
477
6
            nested_column = nested_null_column.get_nested_column_ptr();
478
6
        } else {
479
5
            nested_column = array_column.get_data_ptr();
480
5
        }
481
482
11
        ColumnPtr res = nullptr;
483
11
        auto left_element_type = remove_nullable(
484
11
                assert_cast<const DataTypeArray&>(*remove_nullable(arguments[0].type))
485
11
                        .get_nested_type());
486
11
        const UInt8* idx_null_map = nullptr;
487
11
        auto idx_col_with_const = unpack_if_const(arguments[1].column);
488
11
        if (idx_col_with_const.first->is_nullable()) {
489
11
            const auto& idx_null_column =
490
11
                    reinterpret_cast<const ColumnNullable&>(*idx_col_with_const.first);
491
11
            idx_null_map = idx_null_column.get_null_map_column().get_data().data();
492
11
        }
493
11
        auto idx_col_raw = remove_nullable(idx_col_with_const.first);
494
11
        bool is_const_index = idx_col_with_const.second;
495
496
11
        PrimitiveType idx_ptype = remove_nullable(arguments[1].type)->get_primitive_type();
497
498
        // Outer dispatch on index column type (Int8/Int16/Int32/Int64),
499
        // inner dispatch on nested data column type.
500
11
        auto idx_dispatch = [&](const auto& idx_type) -> bool {
501
11
            using IdxDispatchType = std::decay_t<decltype(idx_type)>;
502
11
            using IndexColumnType = typename IdxDispatchType::ColumnType;
503
504
11
            auto data_call = [&](const auto& data_type) -> bool {
505
9
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
9
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
9
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
9
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
9
                        input_rows_count);
510
9
                return true;
511
9
            };
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clISH_EEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_3EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_4EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_5EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_6EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_7EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_8EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_9EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_28EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_29EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_20EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_30EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_35EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_11EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_25EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_26EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_12EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_27EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_42EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_36EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_ENKUlSC_E_clINSF_ILSG_37EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_2EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clISH_EEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_4EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_5EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_6EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_7EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_8EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_9EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_28EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_29EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_20EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_30EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_35EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_11EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_25EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_26EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_12EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_27EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_42EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_36EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_ENKUlSC_E_clINSF_ILSG_37EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_2EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_3EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clISH_EEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_5EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_6EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_7EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_8EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_9EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_28EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_29EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_20EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_30EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_35EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_11EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_25EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_26EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_12EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_27EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_42EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_36EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_ENKUlSC_E_clINSF_ILSG_37EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_2EEEEEbSC_
_ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_3EEEEEbSC_
Line
Count
Source
504
1
            auto data_call = [&](const auto& data_type) -> bool {
505
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
1
                        input_rows_count);
510
1
                return true;
511
1
            };
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_4EEEEEbSC_
_ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clISH_EEbSC_
Line
Count
Source
504
5
            auto data_call = [&](const auto& data_type) -> bool {
505
5
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
5
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
5
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
5
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
5
                        input_rows_count);
510
5
                return true;
511
5
            };
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_6EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_7EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_8EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_9EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_28EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_29EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_20EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_30EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_35EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_11EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_25EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_26EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_12EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_27EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_42EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_36EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_ENKUlSC_E_clINSF_ILSG_37EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_2EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_3EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_4EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_5EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clISH_EEbSC_
_ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_7EEEEEbSC_
Line
Count
Source
504
1
            auto data_call = [&](const auto& data_type) -> bool {
505
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
1
                        input_rows_count);
510
1
                return true;
511
1
            };
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_8EEEEEbSC_
_ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_9EEEEEbSC_
Line
Count
Source
504
1
            auto data_call = [&](const auto& data_type) -> bool {
505
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
1
                        input_rows_count);
510
1
                return true;
511
1
            };
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_28EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_29EEEEEbSC_
_ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_20EEEEEbSC_
Line
Count
Source
504
1
            auto data_call = [&](const auto& data_type) -> bool {
505
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
1
                        input_rows_count);
510
1
                return true;
511
1
            };
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_30EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_35EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_11EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_25EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_26EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_12EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_27EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_42EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_36EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_37EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_2EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_3EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_4EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_5EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_6EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clISH_EEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_8EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_9EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_28EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_29EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_20EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_30EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_35EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_11EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_25EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_26EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_12EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_27EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_42EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_36EEEEEbSC_
Unexecuted instantiation: _ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_ENKUlSC_E_clINSF_ILSG_37EEEEEbSC_
512
513
11
            if (is_string_type(left_element_type->get_primitive_type())) {
514
2
                res = _execute_string<IndexColumnType>(offsets, *nested_column, src_null_map,
515
2
                                                       *idx_col_raw, nested_null_map, dst_null_map,
516
2
                                                       idx_null_map, is_const_index, is_const_array,
517
2
                                                       input_rows_count);
518
9
            } else if (!dispatch_switch_scalar(left_element_type->get_primitive_type(),
519
9
                                               data_call)) {
520
0
                res = _execute_common<IndexColumnType>(offsets, *nested_column, src_null_map,
521
0
                                                       *idx_col_raw, nested_null_map, dst_null_map,
522
0
                                                       idx_null_map, is_const_index, is_const_array,
523
0
                                                       input_rows_count);
524
0
            }
525
11
            return true;
526
11
        };
Unexecuted instantiation: _ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSC_
Unexecuted instantiation: _ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSC_
Unexecuted instantiation: _ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSC_
_ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSC_
Line
Count
Source
500
8
        auto idx_dispatch = [&](const auto& idx_type) -> bool {
501
8
            using IdxDispatchType = std::decay_t<decltype(idx_type)>;
502
8
            using IndexColumnType = typename IdxDispatchType::ColumnType;
503
504
8
            auto data_call = [&](const auto& data_type) -> bool {
505
8
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
8
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
8
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
8
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
8
                        input_rows_count);
510
8
                return true;
511
8
            };
512
513
8
            if (is_string_type(left_element_type->get_primitive_type())) {
514
2
                res = _execute_string<IndexColumnType>(offsets, *nested_column, src_null_map,
515
2
                                                       *idx_col_raw, nested_null_map, dst_null_map,
516
2
                                                       idx_null_map, is_const_index, is_const_array,
517
2
                                                       input_rows_count);
518
6
            } else if (!dispatch_switch_scalar(left_element_type->get_primitive_type(),
519
6
                                               data_call)) {
520
0
                res = _execute_common<IndexColumnType>(offsets, *nested_column, src_null_map,
521
0
                                                       *idx_col_raw, nested_null_map, dst_null_map,
522
0
                                                       idx_null_map, is_const_index, is_const_array,
523
0
                                                       input_rows_count);
524
0
            }
525
8
            return true;
526
8
        };
_ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_
Line
Count
Source
500
3
        auto idx_dispatch = [&](const auto& idx_type) -> bool {
501
3
            using IdxDispatchType = std::decay_t<decltype(idx_type)>;
502
3
            using IndexColumnType = typename IdxDispatchType::ColumnType;
503
504
3
            auto data_call = [&](const auto& data_type) -> bool {
505
3
                using DataDispatchType = std::decay_t<decltype(data_type)>;
506
3
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
507
3
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
508
3
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
509
3
                        input_rows_count);
510
3
                return true;
511
3
            };
512
513
3
            if (is_string_type(left_element_type->get_primitive_type())) {
514
0
                res = _execute_string<IndexColumnType>(offsets, *nested_column, src_null_map,
515
0
                                                       *idx_col_raw, nested_null_map, dst_null_map,
516
0
                                                       idx_null_map, is_const_index, is_const_array,
517
0
                                                       input_rows_count);
518
3
            } else if (!dispatch_switch_scalar(left_element_type->get_primitive_type(),
519
3
                                               data_call)) {
520
0
                res = _execute_common<IndexColumnType>(offsets, *nested_column, src_null_map,
521
0
                                                       *idx_col_raw, nested_null_map, dst_null_map,
522
0
                                                       idx_null_map, is_const_index, is_const_array,
523
0
                                                       input_rows_count);
524
0
            }
525
3
            return true;
526
3
        };
Unexecuted instantiation: _ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_
527
528
11
        bool dispatched = dispatch_switch_int(idx_ptype, idx_dispatch);
529
11
        DCHECK(dispatched) << "Unsupported index column type for element_at: " << idx_ptype;
530
11
        return res;
531
11
    }
532
};
533
534
} // namespace doris