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