Coverage Report

Created: 2026-08-18 12:07

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