Coverage Report

Created: 2026-09-21 01:36

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_nothing.h"
53
#include "core/data_type/data_type_nullable.h"
54
#include "core/data_type/data_type_number.h"
55
#include "core/data_type/data_type_struct.h"
56
#include "core/data_type/primitive_type.h"
57
#include "core/types.h"
58
#include "exprs/function/function.h"
59
#include "exprs/function/function_helpers.h"
60
61
namespace doris {
62
class FunctionContext;
63
} // namespace doris
64
65
namespace doris {
66
67
class FunctionArrayElement : public IFunction {
68
public:
69
    using MapIndiceDataType = DataTypeInt64;
70
71
    static constexpr auto name = "element_at";
72
34
    static FunctionPtr create() { return std::make_shared<FunctionArrayElement>(); }
73
74
    /// Get function name.
75
2
    String get_name() const override { return name; }
76
77
33
    bool is_variadic() const override { return false; }
78
79
52
    bool use_default_implementation_for_nulls() const override { return false; }
80
81
32
    size_t get_number_of_arguments() const override { return 2; }
82
83
    // A struct field access (element_at(struct, const) / the struct_element alias) resolves to a
84
    // different return type depending on which field the constant index selects, so we need the
85
    // index column here. Array/map return types depend only on the argument types and fall through
86
    // to the DataTypes-based overload below.
87
32
    DataTypePtr get_return_type_impl(const ColumnsWithTypeAndName& arguments) const override {
88
32
        DataTypePtr arg_0 = remove_nullable(arguments[0].type);
89
32
        if (arg_0->get_primitive_type() == TYPE_STRUCT) {
90
11
            const auto* struct_type = check_and_get_data_type<DataTypeStruct>(arg_0.get());
91
11
            size_t index = 0;
92
            // Throw the concrete error (field not found / out of bound) instead of returning
93
            // nullptr, which the framework would report as an opaque "return type check failed".
94
11
            Status st = get_struct_element_index(*struct_type, arguments[1].column,
95
11
                                                 arguments[1].type, &index);
96
11
            if (!st.ok()) {
97
1
                throw doris::Exception(st);
98
1
            }
99
10
            return make_nullable(struct_type->get_elements()[index]);
100
11
        }
101
21
        DataTypes data_types(arguments.size());
102
63
        for (size_t i = 0; i < arguments.size(); ++i) {
103
42
            data_types[i] = arguments[i].type;
104
42
        }
105
21
        return get_return_type_impl(data_types);
106
32
    }
107
108
21
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
109
        // A bare NULL container (element_at(NULL, x)) reaches the BE as a null-literal type when
110
        // the FE skips constant folding. It carries no array/map type, so resolve it the way the
111
        // default null implementation does (Nullable(Nothing)) instead of reading it as BOOL.
112
21
        if (arguments[0]->is_null_literal()) {
113
2
            return make_nullable(std::make_shared<DataTypeNothing>());
114
2
        }
115
19
        DataTypePtr arg_0 = remove_nullable(arguments[0]);
116
19
        DCHECK(arg_0->get_primitive_type() == TYPE_ARRAY || arg_0->get_primitive_type() == TYPE_MAP)
117
0
                << "first argument for function: " << name
118
0
                << " should be DataTypeArray or DataTypeMap, but it is " << arg_0->get_name();
119
19
        if (arg_0->get_primitive_type() == TYPE_ARRAY) {
120
19
            DCHECK(is_int_or_bool(arguments[1]->get_primitive_type()))
121
0
                    << "second argument for function: " << name
122
0
                    << " should be Integer for array element";
123
19
            return make_nullable(
124
19
                    check_and_get_data_type<DataTypeArray>(arg_0.get())->get_nested_type());
125
19
        } else if (arg_0->get_primitive_type() == TYPE_MAP) {
126
0
            return make_nullable(
127
0
                    check_and_get_data_type<DataTypeMap>(arg_0.get())->get_value_type());
128
0
        } else {
129
0
            throw doris::Exception(
130
0
                    ErrorCode::INVALID_ARGUMENT,
131
0
                    fmt::format("element_at only support array and map so far, but got {}",
132
0
                                arg_0->get_name()));
133
0
        }
134
19
    }
135
136
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
137
20
                        uint32_t result, size_t input_rows_count) const override {
138
20
        if (block.get_by_position(arguments[0]).type->is_null_literal()) {
139
            // Null-literal container: every row is NULL, matching the Nullable(Nothing) return type.
140
2
            auto& res = block.get_by_position(result);
141
2
            res.column = res.type->create_column_const_with_default_value(input_rows_count);
142
2
            return Status::OK();
143
2
        }
144
18
        if (remove_nullable(block.get_by_position(arguments[0]).type)->get_primitive_type() ==
145
18
            TYPE_STRUCT) {
146
3
            return _execute_struct(block, arguments, result, input_rows_count);
147
3
        }
148
15
        auto dst_null_column = ColumnUInt8::create(input_rows_count, 0);
149
15
        UInt8* dst_null_map = dst_null_column->get_data().data();
150
15
        const UInt8* src_null_map = nullptr;
151
15
        ColumnsWithTypeAndName args;
152
15
        ColumnPtr res_column = nullptr;
153
154
15
        auto col_left_raw = block.get_by_position(arguments[0]);
155
        // Map element lookup requires row-aligned offsets; keep original path for map type.
156
15
        if (remove_nullable(col_left_raw.type)->get_primitive_type() == TYPE_MAP) {
157
0
            block.replace_by_position(arguments[0],
158
0
                                      col_left_raw.column->convert_to_full_column_if_const());
159
0
            auto col_left = block.get_by_position(arguments[0]);
160
0
            if (const auto* null_col =
161
0
                        check_and_get_column<ColumnNullable>(col_left.column.get())) {
162
0
                src_null_map = null_col->get_null_map_column().get_data().data();
163
0
                args = {{null_col->get_nested_column_ptr(), remove_nullable(col_left.type),
164
0
                         col_left.name},
165
0
                        block.get_by_position(arguments[1])};
166
0
            } else {
167
0
                args = {col_left, block.get_by_position(arguments[1])};
168
0
            }
169
0
            res_column = _execute_map(args, input_rows_count, src_null_map, dst_null_map);
170
15
        } else {
171
            // Array element access: avoid materializing a constant array column.
172
            // A literal like [[1],[2]] becomes ColumnConst with a single-row inner column;
173
            // unpack_if_const() gives us that inner column plus a constancy flag so inner
174
            // loops can use index_check_const() instead of expanding N copies.
175
15
            auto [unpacked_col, is_const_array] = unpack_if_const(col_left_raw.column);
176
15
            if (const auto* null_col = check_and_get_column<ColumnNullable>(unpacked_col.get())) {
177
14
                src_null_map = null_col->get_null_map_column().get_data().data();
178
14
                args = {{null_col->get_nested_column_ptr(), remove_nullable(col_left_raw.type),
179
14
                         col_left_raw.name},
180
14
                        block.get_by_position(arguments[1])};
181
14
            } else {
182
1
                args = {{unpacked_col, col_left_raw.type, col_left_raw.name},
183
1
                        block.get_by_position(arguments[1])};
184
1
            }
185
15
            res_column = _execute_nullable(args, input_rows_count, src_null_map, dst_null_map,
186
15
                                           is_const_array);
187
15
        }
188
15
        if (!res_column) {
189
0
            return Status::RuntimeError("unsupported types for function {}({}, {})", get_name(),
190
0
                                        block.get_by_position(arguments[0]).type->get_name(),
191
0
                                        block.get_by_position(arguments[1]).type->get_name());
192
0
        }
193
15
        block.replace_by_position(result,
194
15
                                  ColumnNullable::create(res_column, std::move(dst_null_column)));
195
15
        return Status::OK();
196
15
    }
197
198
private:
199
1.07k
    static bool valid_negative_array_index(Int64 index, size_t length) {
200
        // Compare abs(index) - 1 so INT64_MIN stays representable and remains an out-of-range NULL.
201
1.07k
        return index < 0 && std::cmp_less(static_cast<UInt64>(-(index + 1)), length);
202
1.07k
    }
203
204
    //=========================== struct element===========================//
205
    // Resolve the 0-based field offset selected by a constant int/string index. Mirrors the logic
206
    // of the former struct_element function, which element_at now subsumes.
207
    Status get_struct_element_index(const DataTypeStruct& struct_type,
208
                                    const ColumnPtr& index_column, const DataTypePtr& index_type,
209
14
                                    size_t* result) const {
210
14
        if (!index_column) {
211
0
            return Status::RuntimeError("Function {}: second argument column is nullptr.",
212
0
                                        get_name());
213
0
        }
214
14
        size_t index = 0;
215
14
        if (is_int_or_bool(index_type->get_primitive_type())) {
216
1
            int64_t offset = index_column->get_int(0);
217
1
            size_t limit = struct_type.get_elements().size() + 1;
218
1
            if (offset < 1 || offset >= static_cast<int64_t>(limit)) {
219
0
                return Status::RuntimeError(
220
0
                        "Index out of bound for function {}: index {} should base from 1 and less "
221
0
                        "than {}.",
222
0
                        get_name(), offset, limit);
223
0
            }
224
1
            index = offset - 1; // the index starts from 1
225
13
        } else if (is_string_type(index_type->get_primitive_type())) {
226
13
            std::string field_name = index_column->get_data_at(0).to_string();
227
13
            std::optional<size_t> pos = struct_type.try_get_position_by_name(field_name);
228
13
            if (!pos.has_value()) {
229
1
                return Status::RuntimeError(
230
1
                        "Element not found for function {}: name {} not found in {}.", get_name(),
231
1
                        field_name, struct_type.get_name());
232
1
            }
233
12
            index = pos.value();
234
12
        } else {
235
0
            return Status::RuntimeError(
236
0
                    "Argument not supported for function {}: second arg type {} should be int or "
237
0
                    "string.",
238
0
                    get_name(), index_type->get_name());
239
0
        }
240
13
        *result = index;
241
13
        return Status::OK();
242
14
    }
243
244
    Status _execute_struct(Block& block, const ColumnNumbers& arguments, uint32_t result,
245
3
                           size_t input_rows_count) const {
246
3
        const auto& struct_arg = block.get_by_position(arguments[0]);
247
3
        ColumnPtr struct_col_ptr = struct_arg.column->convert_to_full_column_if_const();
248
        // element_at manages nulls itself (use_default_implementation_for_nulls() == false), so a
249
        // null struct row must be merged into the result null map manually.
250
3
        const ColumnUInt8* outer_null_map = nullptr;
251
3
        if (const auto* nullable = check_and_get_column<ColumnNullable>(struct_col_ptr.get())) {
252
2
            outer_null_map = &nullable->get_null_map_column();
253
2
            struct_col_ptr = nullable->get_nested_column_ptr();
254
2
        }
255
3
        const auto* struct_type =
256
3
                check_and_get_data_type<DataTypeStruct>(remove_nullable(struct_arg.type).get());
257
3
        const auto* struct_col = check_and_get_column<ColumnStruct>(struct_col_ptr.get());
258
3
        if (!struct_col || !struct_type) {
259
0
            return Status::RuntimeError("unsupported types for function {}({}, {})", get_name(),
260
0
                                        struct_arg.type->get_name(),
261
0
                                        block.get_by_position(arguments[1]).type->get_name());
262
0
        }
263
3
        const auto& index_arg = block.get_by_position(arguments[1]);
264
3
        size_t index = 0;
265
3
        RETURN_IF_ERROR(
266
3
                get_struct_element_index(*struct_type, index_arg.column, index_arg.type, &index));
267
268
3
        ColumnPtr field_col = struct_col->get_column_ptr(index);
269
3
        auto res_null_column = ColumnUInt8::create(input_rows_count, 0);
270
3
        auto& res_null_map = res_null_column->get_data();
271
3
        ColumnPtr res_nested = field_col;
272
3
        if (const auto* field_nullable = check_and_get_column<ColumnNullable>(field_col.get())) {
273
2
            const auto& field_null_map = field_nullable->get_null_map_column().get_data();
274
2
            memcpy(res_null_map.data(), field_null_map.data(), input_rows_count);
275
2
            res_nested = field_nullable->get_nested_column_ptr();
276
2
        }
277
3
        if (outer_null_map) {
278
2
            const auto& outer = outer_null_map->get_data();
279
8
            for (size_t i = 0; i < input_rows_count; ++i) {
280
6
                res_null_map[i] |= outer[i];
281
6
            }
282
2
        }
283
3
        block.replace_by_position(result,
284
3
                                  ColumnNullable::create(res_nested, std::move(res_null_column)));
285
3
        return Status::OK();
286
3
    }
287
288
    //=========================== map element===========================//
289
    ColumnPtr _get_mapped_idx(const ColumnArray& column,
290
0
                              const ColumnWithTypeAndName& argument) const {
291
0
        auto right_column = make_nullable(argument.column->convert_to_full_column_if_const());
292
0
        const ColumnArray::Offsets64& offsets = column.get_offsets();
293
0
        ColumnPtr nested_ptr = make_nullable(column.get_data_ptr());
294
0
        size_t rows = offsets.size();
295
        // prepare return data
296
0
        auto matched_indices = ColumnVector<MapIndiceDataType::PType>::create();
297
0
        matched_indices->reserve(rows);
298
299
0
        for (size_t i = 0; i < rows; i++) {
300
0
            bool matched = false;
301
0
            size_t begin = offsets[i - 1];
302
0
            size_t end = offsets[i];
303
0
            for (size_t j = begin; j < end; j++) {
304
0
                if (nested_ptr->compare_at(j, i, *right_column, -1) == 0) {
305
0
                    matched_indices->insert_value(
306
0
                            cast_set<MapIndiceDataType::FieldType, size_t, false>(j - begin + 1));
307
0
                    matched = true;
308
0
                    break;
309
0
                }
310
0
            }
311
312
0
            if (!matched) {
313
0
                matched_indices->insert_value(cast_set<MapIndiceDataType::FieldType, size_t, false>(
314
0
                        end - begin + 1)); // make indices for null
315
0
            }
316
0
        }
317
318
0
        return matched_indices;
319
0
    }
320
321
    template <typename ColumnType, typename IndexColumnType>
322
    ColumnPtr _execute_number(const ColumnArray::Offsets64& offsets, const IColumn& nested_column,
323
                              const UInt8* arr_null_map, const IColumn& indices,
324
                              const UInt8* nested_null_map, UInt8* dst_null_map,
325
                              const UInt8* idx_null_map, bool is_const_index, bool is_const_array,
326
10
                              size_t input_rows_count) const {
327
10
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
328
10
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
329
330
10
        auto dst_column = nested_column.clone_empty();
331
10
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
332
10
        dst_data.resize(input_rows_count);
333
334
4.16k
        for (size_t row = 0; row < input_rows_count; ++row) {
335
4.15k
            size_t arr_row = index_check_const(row, is_const_array);
336
4.15k
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
337
4.15k
            size_t len = offsets[arr_row] - off;
338
4.15k
            size_t idx = index_check_const(row, is_const_index);
339
4.15k
            auto index =
340
4.15k
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
341
4.15k
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
342
4.15k
            if (!null_flag && index > 0 && index <= len) {
343
3.08k
                index += off - 1;
344
3.08k
            } else if (!null_flag && valid_negative_array_index(index, len)) {
345
12
                index += off + len;
346
1.06k
            } else {
347
1.06k
                null_flag = true;
348
1.06k
            }
349
4.15k
            if (!null_flag && nested_null_map && nested_null_map[index]) {
350
0
                null_flag = true;
351
0
            }
352
4.15k
            dst_null_map[row] = null_flag;
353
4.15k
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
354
4.15k
        }
355
10
        return dst_column;
356
10
    }
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_13PrimitiveTypeE43EEENS2_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_13PrimitiveTypeE43EEENS2_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_13PrimitiveTypeE43EEENS2_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
326
1
                              size_t input_rows_count) const {
327
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
328
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
329
330
1
        auto dst_column = nested_column.clone_empty();
331
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
332
1
        dst_data.resize(input_rows_count);
333
334
10
        for (size_t row = 0; row < input_rows_count; ++row) {
335
9
            size_t arr_row = index_check_const(row, is_const_array);
336
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
337
9
            size_t len = offsets[arr_row] - off;
338
9
            size_t idx = index_check_const(row, is_const_index);
339
9
            auto index =
340
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
341
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
342
9
            if (!null_flag && index > 0 && index <= len) {
343
1
                index += off - 1;
344
8
            } else if (!null_flag && valid_negative_array_index(index, len)) {
345
2
                index += off + len;
346
6
            } else {
347
6
                null_flag = true;
348
6
            }
349
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
350
0
                null_flag = true;
351
0
            }
352
9
            dst_null_map[row] = null_flag;
353
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
354
9
        }
355
1
        return dst_column;
356
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
326
5
                              size_t input_rows_count) const {
327
5
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
328
5
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
329
330
5
        auto dst_column = nested_column.clone_empty();
331
5
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
332
5
        dst_data.resize(input_rows_count);
333
334
4.12k
        for (size_t row = 0; row < input_rows_count; ++row) {
335
4.12k
            size_t arr_row = index_check_const(row, is_const_array);
336
4.12k
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
337
4.12k
            size_t len = offsets[arr_row] - off;
338
4.12k
            size_t idx = index_check_const(row, is_const_index);
339
4.12k
            auto index =
340
4.12k
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
341
4.12k
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
342
4.12k
            if (!null_flag && index > 0 && index <= len) {
343
3.07k
                index += off - 1;
344
3.07k
            } else if (!null_flag && valid_negative_array_index(index, len)) {
345
4
                index += off + len;
346
1.04k
            } else {
347
1.04k
                null_flag = true;
348
1.04k
            }
349
4.12k
            if (!null_flag && nested_null_map && nested_null_map[index]) {
350
0
                null_flag = true;
351
0
            }
352
4.12k
            dst_null_map[row] = null_flag;
353
4.12k
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
354
4.12k
        }
355
5
        return dst_column;
356
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_13PrimitiveTypeE43EEENS2_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
_ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE6EEES4_EENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Line
Count
Source
326
1
                              size_t input_rows_count) const {
327
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
328
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
329
330
1
        auto dst_column = nested_column.clone_empty();
331
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
332
1
        dst_data.resize(input_rows_count);
333
334
2
        for (size_t row = 0; row < input_rows_count; ++row) {
335
1
            size_t arr_row = index_check_const(row, is_const_array);
336
1
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
337
1
            size_t len = offsets[arr_row] - off;
338
1
            size_t idx = index_check_const(row, is_const_index);
339
1
            auto index =
340
1
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
341
1
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
342
1
            if (!null_flag && index > 0 && index <= len) {
343
0
                index += off - 1;
344
1
            } else if (!null_flag && valid_negative_array_index(index, len)) {
345
0
                index += off + len;
346
1
            } else {
347
1
                null_flag = true;
348
1
            }
349
1
            if (!null_flag && nested_null_map && nested_null_map[index]) {
350
0
                null_flag = true;
351
0
            }
352
1
            dst_null_map[row] = null_flag;
353
1
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
354
1
        }
355
1
        return dst_column;
356
1
    }
_ZNK5doris20FunctionArrayElement15_execute_numberINS_12ColumnVectorILNS_13PrimitiveTypeE7EEENS2_ILS3_6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS7_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS7_PKhSJ_SL_PhSL_bbm
Line
Count
Source
326
1
                              size_t input_rows_count) const {
327
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
328
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
329
330
1
        auto dst_column = nested_column.clone_empty();
331
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
332
1
        dst_data.resize(input_rows_count);
333
334
10
        for (size_t row = 0; row < input_rows_count; ++row) {
335
9
            size_t arr_row = index_check_const(row, is_const_array);
336
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
337
9
            size_t len = offsets[arr_row] - off;
338
9
            size_t idx = index_check_const(row, is_const_index);
339
9
            auto index =
340
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
341
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
342
9
            if (!null_flag && index > 0 && index <= len) {
343
1
                index += off - 1;
344
8
            } else if (!null_flag && valid_negative_array_index(index, len)) {
345
2
                index += off + len;
346
6
            } else {
347
6
                null_flag = true;
348
6
            }
349
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
350
0
                null_flag = true;
351
0
            }
352
9
            dst_null_map[row] = null_flag;
353
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
354
9
        }
355
1
        return dst_column;
356
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
326
1
                              size_t input_rows_count) const {
327
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
328
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
329
330
1
        auto dst_column = nested_column.clone_empty();
331
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
332
1
        dst_data.resize(input_rows_count);
333
334
10
        for (size_t row = 0; row < input_rows_count; ++row) {
335
9
            size_t arr_row = index_check_const(row, is_const_array);
336
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
337
9
            size_t len = offsets[arr_row] - off;
338
9
            size_t idx = index_check_const(row, is_const_index);
339
9
            auto index =
340
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
341
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
342
9
            if (!null_flag && index > 0 && index <= len) {
343
1
                index += off - 1;
344
8
            } else if (!null_flag && valid_negative_array_index(index, len)) {
345
2
                index += off + len;
346
6
            } else {
347
6
                null_flag = true;
348
6
            }
349
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
350
0
                null_flag = true;
351
0
            }
352
9
            dst_null_map[row] = null_flag;
353
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
354
9
        }
355
1
        return dst_column;
356
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
326
1
                              size_t input_rows_count) const {
327
1
        const auto& nested_data = reinterpret_cast<const ColumnType&>(nested_column).get_data();
328
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
329
330
1
        auto dst_column = nested_column.clone_empty();
331
1
        auto& dst_data = reinterpret_cast<ColumnType&>(*dst_column).get_data();
332
1
        dst_data.resize(input_rows_count);
333
334
10
        for (size_t row = 0; row < input_rows_count; ++row) {
335
9
            size_t arr_row = index_check_const(row, is_const_array);
336
9
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
337
9
            size_t len = offsets[arr_row] - off;
338
9
            size_t idx = index_check_const(row, is_const_index);
339
9
            auto index =
340
9
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
341
9
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
342
9
            if (!null_flag && index > 0 && index <= len) {
343
1
                index += off - 1;
344
8
            } else if (!null_flag && valid_negative_array_index(index, len)) {
345
2
                index += off + len;
346
6
            } else {
347
6
                null_flag = true;
348
6
            }
349
9
            if (!null_flag && nested_null_map && nested_null_map[index]) {
350
0
                null_flag = true;
351
0
            }
352
9
            dst_null_map[row] = null_flag;
353
9
            dst_data[row] = !null_flag ? nested_data[index] : typename ColumnType::value_type();
354
9
        }
355
1
        return dst_column;
356
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_13PrimitiveTypeE43EEENS2_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_13PrimitiveTypeE43EEENS2_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
357
358
    template <typename IndexColumnType>
359
    ColumnPtr _execute_string(const ColumnArray::Offsets64& offsets, const IColumn& nested_column,
360
                              const UInt8* arr_null_map, const IColumn& indices,
361
                              const UInt8* nested_null_map, UInt8* dst_null_map,
362
                              const UInt8* idx_null_map, bool is_const_index, bool is_const_array,
363
3
                              size_t input_rows_count) const {
364
3
        const auto& src_str_offs =
365
3
                reinterpret_cast<const ColumnString&>(nested_column).get_offsets();
366
3
        const auto& src_str_chars =
367
3
                reinterpret_cast<const ColumnString&>(nested_column).get_chars();
368
3
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
369
370
        // prepare return data
371
3
        auto dst_column = ColumnString::create();
372
3
        auto& dst_str_offs = dst_column->get_offsets();
373
3
        dst_str_offs.resize(input_rows_count);
374
3
        auto& dst_str_chars = dst_column->get_chars();
375
3
        dst_str_chars.reserve(src_str_chars.size());
376
377
18
        for (size_t row = 0; row < input_rows_count; ++row) {
378
15
            size_t arr_row = index_check_const(row, is_const_array);
379
15
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
380
15
            size_t len = offsets[arr_row] - off;
381
15
            size_t idx = index_check_const(row, is_const_index);
382
15
            auto index =
383
15
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
384
15
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
385
15
            if (!null_flag && index > 0 && index <= len) {
386
5
                index += off - 1;
387
10
            } else if (!null_flag && valid_negative_array_index(index, len)) {
388
2
                index += off + len;
389
8
            } else {
390
8
                null_flag = true;
391
8
            }
392
15
            if (!null_flag && nested_null_map && nested_null_map[index]) {
393
0
                null_flag = true;
394
0
            }
395
15
            if (!null_flag) {
396
7
                dst_null_map[row] = false;
397
7
                auto element_size = src_str_offs[index] - src_str_offs[index - 1];
398
7
                dst_str_offs[row] = (row == 0 ? 0 : dst_str_offs[row - 1]) + element_size;
399
7
                auto src_string_pos = src_str_offs[index - 1];
400
7
                auto dst_string_pos = row == 0 ? 0 : dst_str_offs[row - 1];
401
7
                dst_str_chars.resize(dst_string_pos + element_size);
402
7
                memcpy(&dst_str_chars[dst_string_pos], &src_str_chars[src_string_pos],
403
7
                       element_size);
404
8
            } else {
405
8
                dst_null_map[row] = true;
406
8
                dst_str_offs[row] = row == 0 ? 0 : dst_str_offs[row - 1];
407
8
            }
408
15
        }
409
3
        return dst_column;
410
3
    }
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
363
2
                              size_t input_rows_count) const {
364
2
        const auto& src_str_offs =
365
2
                reinterpret_cast<const ColumnString&>(nested_column).get_offsets();
366
2
        const auto& src_str_chars =
367
2
                reinterpret_cast<const ColumnString&>(nested_column).get_chars();
368
2
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
369
370
        // prepare return data
371
2
        auto dst_column = ColumnString::create();
372
2
        auto& dst_str_offs = dst_column->get_offsets();
373
2
        dst_str_offs.resize(input_rows_count);
374
2
        auto& dst_str_chars = dst_column->get_chars();
375
2
        dst_str_chars.reserve(src_str_chars.size());
376
377
16
        for (size_t row = 0; row < input_rows_count; ++row) {
378
14
            size_t arr_row = index_check_const(row, is_const_array);
379
14
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
380
14
            size_t len = offsets[arr_row] - off;
381
14
            size_t idx = index_check_const(row, is_const_index);
382
14
            auto index =
383
14
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
384
14
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
385
14
            if (!null_flag && index > 0 && index <= len) {
386
5
                index += off - 1;
387
9
            } else if (!null_flag && valid_negative_array_index(index, len)) {
388
2
                index += off + len;
389
7
            } else {
390
7
                null_flag = true;
391
7
            }
392
14
            if (!null_flag && nested_null_map && nested_null_map[index]) {
393
0
                null_flag = true;
394
0
            }
395
14
            if (!null_flag) {
396
7
                dst_null_map[row] = false;
397
7
                auto element_size = src_str_offs[index] - src_str_offs[index - 1];
398
7
                dst_str_offs[row] = (row == 0 ? 0 : dst_str_offs[row - 1]) + element_size;
399
7
                auto src_string_pos = src_str_offs[index - 1];
400
7
                auto dst_string_pos = row == 0 ? 0 : dst_str_offs[row - 1];
401
7
                dst_str_chars.resize(dst_string_pos + element_size);
402
7
                memcpy(&dst_str_chars[dst_string_pos], &src_str_chars[src_string_pos],
403
7
                       element_size);
404
7
            } else {
405
7
                dst_null_map[row] = true;
406
7
                dst_str_offs[row] = row == 0 ? 0 : dst_str_offs[row - 1];
407
7
            }
408
14
        }
409
2
        return dst_column;
410
2
    }
_ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Line
Count
Source
363
1
                              size_t input_rows_count) const {
364
1
        const auto& src_str_offs =
365
1
                reinterpret_cast<const ColumnString&>(nested_column).get_offsets();
366
1
        const auto& src_str_chars =
367
1
                reinterpret_cast<const ColumnString&>(nested_column).get_chars();
368
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
369
370
        // prepare return data
371
1
        auto dst_column = ColumnString::create();
372
1
        auto& dst_str_offs = dst_column->get_offsets();
373
1
        dst_str_offs.resize(input_rows_count);
374
1
        auto& dst_str_chars = dst_column->get_chars();
375
1
        dst_str_chars.reserve(src_str_chars.size());
376
377
2
        for (size_t row = 0; row < input_rows_count; ++row) {
378
1
            size_t arr_row = index_check_const(row, is_const_array);
379
1
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
380
1
            size_t len = offsets[arr_row] - off;
381
1
            size_t idx = index_check_const(row, is_const_index);
382
1
            auto index =
383
1
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
384
1
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
385
1
            if (!null_flag && index > 0 && index <= len) {
386
0
                index += off - 1;
387
1
            } else if (!null_flag && valid_negative_array_index(index, len)) {
388
0
                index += off + len;
389
1
            } else {
390
1
                null_flag = true;
391
1
            }
392
1
            if (!null_flag && nested_null_map && nested_null_map[index]) {
393
0
                null_flag = true;
394
0
            }
395
1
            if (!null_flag) {
396
0
                dst_null_map[row] = false;
397
0
                auto element_size = src_str_offs[index] - src_str_offs[index - 1];
398
0
                dst_str_offs[row] = (row == 0 ? 0 : dst_str_offs[row - 1]) + element_size;
399
0
                auto src_string_pos = src_str_offs[index - 1];
400
0
                auto dst_string_pos = row == 0 ? 0 : dst_str_offs[row - 1];
401
0
                dst_str_chars.resize(dst_string_pos + element_size);
402
0
                memcpy(&dst_str_chars[dst_string_pos], &src_str_chars[src_string_pos],
403
0
                       element_size);
404
1
            } else {
405
1
                dst_null_map[row] = true;
406
1
                dst_str_offs[row] = row == 0 ? 0 : dst_str_offs[row - 1];
407
1
            }
408
1
        }
409
1
        return dst_column;
410
1
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_stringINS_12ColumnVectorILNS_13PrimitiveTypeE7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
411
412
    ColumnPtr _execute_map(const ColumnsWithTypeAndName& arguments, size_t input_rows_count,
413
0
                           const UInt8* src_null_map, UInt8* dst_null_map) const {
414
0
        auto left_column = arguments[0].column->convert_to_full_column_if_const();
415
0
        DataTypePtr val_type =
416
0
                reinterpret_cast<const DataTypeMap&>(*arguments[0].type).get_value_type();
417
0
        const auto& map_column = reinterpret_cast<const ColumnMap&>(*left_column);
418
419
        // create column array to find keys
420
0
        auto key_arr = ColumnArray::create(map_column.get_keys_ptr(), map_column.get_offsets_ptr());
421
0
        auto val_arr =
422
0
                ColumnArray::create(map_column.get_values_ptr(), map_column.get_offsets_ptr());
423
424
0
        ColumnPtr matched_indices = _get_mapped_idx(*key_arr, arguments[1]);
425
0
        if (!matched_indices) {
426
0
            return nullptr;
427
0
        }
428
0
        DataTypePtr indices_type(std::make_shared<MapIndiceDataType>());
429
0
        ColumnWithTypeAndName indices(matched_indices, indices_type, "indices");
430
0
        ColumnWithTypeAndName data(std::move(val_arr), std::make_shared<DataTypeArray>(val_type),
431
0
                                   "value");
432
0
        ColumnsWithTypeAndName args = {data, indices};
433
0
        return _execute_nullable(args, input_rows_count, src_null_map, dst_null_map, false);
434
0
    }
435
436
    template <typename IndexColumnType>
437
    ColumnPtr _execute_common(const ColumnArray::Offsets64& offsets, const IColumn& nested_column,
438
                              const UInt8* arr_null_map, const IColumn& indices,
439
                              const UInt8* nested_null_map, UInt8* dst_null_map,
440
                              const UInt8* idx_null_map, bool is_const_index, bool is_const_array,
441
2
                              size_t input_rows_count) const {
442
2
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
443
444
2
        auto dst_column = nested_column.clone_empty();
445
2
        dst_column->reserve(input_rows_count);
446
447
6
        for (size_t row = 0; row < input_rows_count; ++row) {
448
4
            size_t arr_row = index_check_const(row, is_const_array);
449
4
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
450
4
            size_t len = offsets[arr_row] - off;
451
4
            size_t idx = index_check_const(row, is_const_index);
452
4
            auto index =
453
4
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
454
4
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
455
4
            if (!null_flag && index > 0 && index <= len) {
456
3
                index += off - 1;
457
3
            } else if (!null_flag && valid_negative_array_index(index, len)) {
458
0
                index += off + len;
459
1
            } else {
460
1
                null_flag = true;
461
1
            }
462
4
            if (!null_flag && nested_null_map && nested_null_map[index]) {
463
0
                null_flag = true;
464
0
            }
465
4
            if (!null_flag) {
466
3
                dst_null_map[row] = false;
467
3
                dst_column->insert_from(nested_column, index);
468
3
            } else {
469
1
                dst_null_map[row] = true;
470
1
                dst_column->insert_default();
471
1
            }
472
4
        }
473
2
        return dst_column;
474
2
    }
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
_ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Line
Count
Source
441
1
                              size_t input_rows_count) const {
442
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
443
444
1
        auto dst_column = nested_column.clone_empty();
445
1
        dst_column->reserve(input_rows_count);
446
447
4
        for (size_t row = 0; row < input_rows_count; ++row) {
448
3
            size_t arr_row = index_check_const(row, is_const_array);
449
3
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
450
3
            size_t len = offsets[arr_row] - off;
451
3
            size_t idx = index_check_const(row, is_const_index);
452
3
            auto index =
453
3
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
454
3
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
455
3
            if (!null_flag && index > 0 && index <= len) {
456
3
                index += off - 1;
457
3
            } else if (!null_flag && valid_negative_array_index(index, len)) {
458
0
                index += off + len;
459
0
            } else {
460
0
                null_flag = true;
461
0
            }
462
3
            if (!null_flag && nested_null_map && nested_null_map[index]) {
463
0
                null_flag = true;
464
0
            }
465
3
            if (!null_flag) {
466
3
                dst_null_map[row] = false;
467
3
                dst_column->insert_from(nested_column, index);
468
3
            } else {
469
0
                dst_null_map[row] = true;
470
0
                dst_column->insert_default();
471
0
            }
472
3
        }
473
1
        return dst_column;
474
1
    }
_ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
Line
Count
Source
441
1
                              size_t input_rows_count) const {
442
1
        const auto& index_data = assert_cast<const IndexColumnType&>(indices).get_data();
443
444
1
        auto dst_column = nested_column.clone_empty();
445
1
        dst_column->reserve(input_rows_count);
446
447
2
        for (size_t row = 0; row < input_rows_count; ++row) {
448
1
            size_t arr_row = index_check_const(row, is_const_array);
449
1
            size_t off = arr_row == 0 ? 0 : offsets[arr_row - 1];
450
1
            size_t len = offsets[arr_row] - off;
451
1
            size_t idx = index_check_const(row, is_const_index);
452
1
            auto index =
453
1
                    (idx_null_map && idx_null_map[idx]) ? 0 : static_cast<Int64>(index_data[idx]);
454
1
            bool null_flag = bool(arr_null_map && arr_null_map[arr_row]);
455
1
            if (!null_flag && index > 0 && index <= len) {
456
0
                index += off - 1;
457
1
            } else if (!null_flag && valid_negative_array_index(index, len)) {
458
0
                index += off + len;
459
1
            } else {
460
1
                null_flag = true;
461
1
            }
462
1
            if (!null_flag && nested_null_map && nested_null_map[index]) {
463
0
                null_flag = true;
464
0
            }
465
1
            if (!null_flag) {
466
0
                dst_null_map[row] = false;
467
0
                dst_column->insert_from(nested_column, index);
468
1
            } else {
469
1
                dst_null_map[row] = true;
470
1
                dst_column->insert_default();
471
1
            }
472
1
        }
473
1
        return dst_column;
474
1
    }
Unexecuted instantiation: _ZNK5doris20FunctionArrayElement15_execute_commonINS_12ColumnVectorILNS_13PrimitiveTypeE7EEEEENS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayImLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKS6_PKhSI_SK_PhSK_bbm
475
476
    ColumnPtr _execute_nullable(const ColumnsWithTypeAndName& arguments, size_t input_rows_count,
477
                                const UInt8* src_null_map, UInt8* dst_null_map,
478
15
                                bool is_const_array) const {
479
        // arguments[0].column is already the raw ColumnArray (possibly size-1 when is_const_array).
480
        // Do NOT call convert_to_full_column_if_const() here; const-awareness is handled below
481
        // via index_check_const(row, is_const_array).
482
15
        const auto& array_column = assert_cast<const ColumnArray&>(*arguments[0].column);
483
15
        const auto& offsets = array_column.get_offsets();
484
15
        DCHECK(is_const_array ? offsets.size() == 1 : offsets.size() == input_rows_count);
485
15
        const UInt8* nested_null_map = nullptr;
486
15
        ColumnPtr nested_column = nullptr;
487
15
        if (is_column_nullable(array_column.get_data())) {
488
9
            const auto& nested_null_column =
489
9
                    reinterpret_cast<const ColumnNullable&>(array_column.get_data());
490
9
            nested_null_map = nested_null_column.get_null_map_column().get_data().data();
491
9
            nested_column = nested_null_column.get_nested_column_ptr();
492
9
        } else {
493
6
            nested_column = array_column.get_data_ptr();
494
6
        }
495
496
15
        ColumnPtr res = nullptr;
497
15
        auto left_element_type = remove_nullable(
498
15
                assert_cast<const DataTypeArray&>(*remove_nullable(arguments[0].type))
499
15
                        .get_nested_type());
500
15
        const UInt8* idx_null_map = nullptr;
501
15
        auto idx_col_with_const = unpack_if_const(arguments[1].column);
502
15
        if (const auto* idx_null_column =
503
15
                    check_and_get_column<ColumnNullable>(idx_col_with_const.first.get())) {
504
13
            idx_null_map = idx_null_column->get_null_map_column().get_data().data();
505
13
        }
506
15
        auto idx_col_raw = remove_nullable(idx_col_with_const.first);
507
15
        bool is_const_index = idx_col_with_const.second;
508
509
15
        PrimitiveType idx_ptype = remove_nullable(arguments[1].type)->get_primitive_type();
510
511
        // Outer dispatch on index column type (Int8/Int16/Int32/Int64),
512
        // inner dispatch on nested data column type.
513
15
        auto idx_dispatch = [&](const auto& idx_type) -> bool {
514
15
            using IdxDispatchType = std::decay_t<decltype(idx_type)>;
515
15
            using IndexColumnType = typename IdxDispatchType::ColumnType;
516
517
15
            auto data_call = [&](const auto& data_type) -> bool {
518
10
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
10
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
10
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
10
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
10
                        input_rows_count);
523
10
                return true;
524
10
            };
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_43EEEEEbSC_
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_43EEEEEbSC_
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_43EEEEEbSC_
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
517
1
            auto data_call = [&](const auto& data_type) -> bool {
518
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
1
                        input_rows_count);
523
1
                return true;
524
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
517
5
            auto data_call = [&](const auto& data_type) -> bool {
518
5
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
5
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
5
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
5
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
5
                        input_rows_count);
523
5
                return true;
524
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_43EEEEEbSC_
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_
_ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clISH_EEbSC_
Line
Count
Source
517
1
            auto data_call = [&](const auto& data_type) -> bool {
518
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
1
                        input_rows_count);
523
1
                return true;
524
1
            };
_ZZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_ENKUlSC_E_clINSF_ILSG_7EEEEEbSC_
Line
Count
Source
517
1
            auto data_call = [&](const auto& data_type) -> bool {
518
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
1
                        input_rows_count);
523
1
                return true;
524
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
517
1
            auto data_call = [&](const auto& data_type) -> bool {
518
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
1
                        input_rows_count);
523
1
                return true;
524
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
517
1
            auto data_call = [&](const auto& data_type) -> bool {
518
1
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
1
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
1
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
1
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
1
                        input_rows_count);
523
1
                return true;
524
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_43EEEEEbSC_
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_43EEEEEbSC_
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_
525
526
15
            if (is_string_type(left_element_type->get_primitive_type())) {
527
3
                res = _execute_string<IndexColumnType>(offsets, *nested_column, src_null_map,
528
3
                                                       *idx_col_raw, nested_null_map, dst_null_map,
529
3
                                                       idx_null_map, is_const_index, is_const_array,
530
3
                                                       input_rows_count);
531
12
            } else if (!dispatch_switch_scalar(left_element_type->get_primitive_type(),
532
12
                                               data_call)) {
533
2
                res = _execute_common<IndexColumnType>(offsets, *nested_column, src_null_map,
534
2
                                                       *idx_col_raw, nested_null_map, dst_null_map,
535
2
                                                       idx_null_map, is_const_index, is_const_array,
536
2
                                                       input_rows_count);
537
2
            }
538
15
            return true;
539
15
        };
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
513
9
        auto idx_dispatch = [&](const auto& idx_type) -> bool {
514
9
            using IdxDispatchType = std::decay_t<decltype(idx_type)>;
515
9
            using IndexColumnType = typename IdxDispatchType::ColumnType;
516
517
9
            auto data_call = [&](const auto& data_type) -> bool {
518
9
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
9
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
9
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
9
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
9
                        input_rows_count);
523
9
                return true;
524
9
            };
525
526
9
            if (is_string_type(left_element_type->get_primitive_type())) {
527
2
                res = _execute_string<IndexColumnType>(offsets, *nested_column, src_null_map,
528
2
                                                       *idx_col_raw, nested_null_map, dst_null_map,
529
2
                                                       idx_null_map, is_const_index, is_const_array,
530
2
                                                       input_rows_count);
531
7
            } else if (!dispatch_switch_scalar(left_element_type->get_primitive_type(),
532
7
                                               data_call)) {
533
1
                res = _execute_common<IndexColumnType>(offsets, *nested_column, src_null_map,
534
1
                                                       *idx_col_raw, nested_null_map, dst_null_map,
535
1
                                                       idx_null_map, is_const_index, is_const_array,
536
1
                                                       input_rows_count);
537
1
            }
538
9
            return true;
539
9
        };
_ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSC_
Line
Count
Source
513
6
        auto idx_dispatch = [&](const auto& idx_type) -> bool {
514
6
            using IdxDispatchType = std::decay_t<decltype(idx_type)>;
515
6
            using IndexColumnType = typename IdxDispatchType::ColumnType;
516
517
6
            auto data_call = [&](const auto& data_type) -> bool {
518
6
                using DataDispatchType = std::decay_t<decltype(data_type)>;
519
6
                res = _execute_number<typename DataDispatchType::ColumnType, IndexColumnType>(
520
6
                        offsets, *nested_column, src_null_map, *idx_col_raw, nested_null_map,
521
6
                        dst_null_map, idx_null_map, is_const_index, is_const_array,
522
6
                        input_rows_count);
523
6
                return true;
524
6
            };
525
526
6
            if (is_string_type(left_element_type->get_primitive_type())) {
527
1
                res = _execute_string<IndexColumnType>(offsets, *nested_column, src_null_map,
528
1
                                                       *idx_col_raw, nested_null_map, dst_null_map,
529
1
                                                       idx_null_map, is_const_index, is_const_array,
530
1
                                                       input_rows_count);
531
5
            } else if (!dispatch_switch_scalar(left_element_type->get_primitive_type(),
532
5
                                               data_call)) {
533
1
                res = _execute_common<IndexColumnType>(offsets, *nested_column, src_null_map,
534
1
                                                       *idx_col_raw, nested_null_map, dst_null_map,
535
1
                                                       idx_null_map, is_const_index, is_const_array,
536
1
                                                       input_rows_count);
537
1
            }
538
6
            return true;
539
6
        };
Unexecuted instantiation: _ZZNK5doris20FunctionArrayElement17_execute_nullableERKSt6vectorINS_21ColumnWithTypeAndNameESaIS2_EEmPKhPhbENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSC_
540
541
15
        bool dispatched = dispatch_switch_int(idx_ptype, idx_dispatch);
542
15
        DCHECK(dispatched) << "Unsupported index column type for element_at: " << idx_ptype;
543
15
        return res;
544
15
    }
545
};
546
547
} // namespace doris