be/src/exprs/function/complex_hash_map_dictionary.cpp
Line | Count | Source |
1 | | // Licensed to the Apache Software Foundation (ASF) under one |
2 | | // or more contributor license agreements. See the NOTICE file |
3 | | // distributed with this work for additional information |
4 | | // regarding copyright ownership. The ASF licenses this file |
5 | | // to you under the Apache License, Version 2.0 (the |
6 | | // "License"); you may not use this file except in compliance |
7 | | // with the License. You may obtain a copy of the License at |
8 | | // |
9 | | // http://www.apache.org/licenses/LICENSE-2.0 |
10 | | // |
11 | | // Unless required by applicable law or agreed to in writing, |
12 | | // software distributed under the License is distributed on an |
13 | | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
14 | | // KIND, either express or implied. See the License for the |
15 | | // specific language governing permissions and limitations |
16 | | // under the License. |
17 | | |
18 | | #include "exprs/function/complex_hash_map_dictionary.h" // for ComplexHashMapDictionary |
19 | | |
20 | | #include <type_traits> |
21 | | #include <vector> |
22 | | |
23 | | #include "common/status.h" |
24 | | #include "core/data_type/data_type_decimal.h" |
25 | | #include "core/data_type/data_type_number.h" // IWYU pragma: keep |
26 | | #include "exprs/function/dictionary.h" |
27 | | |
28 | | namespace doris { |
29 | | #include "common/compile_check_begin.h" |
30 | 688 | ComplexHashMapDictionary::~ComplexHashMapDictionary() { |
31 | 688 | if (_mem_tracker) { |
32 | 5 | SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(_mem_tracker); |
33 | 5 | _hash_map_method.method_variant.emplace<std::monostate>(); |
34 | 5 | ColumnPtrs {}.swap(_key_columns); |
35 | 5 | } |
36 | 688 | } |
37 | | |
38 | 7 | size_t ComplexHashMapDictionary::allocated_bytes() const { |
39 | 7 | size_t bytes = 0; |
40 | 7 | std::visit(Overload {[&](const std::monostate& arg) { bytes = 0; }, |
41 | 7 | [&](const auto& dict_method) { |
42 | 7 | bytes = dict_method.hash_table->get_buffer_size_in_bytes(); |
43 | 7 | }}, Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaRKT_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaRKT_ Line | Count | Source | 41 | 7 | [&](const auto& dict_method) { | 42 | 7 | bytes = dict_method.hash_table->get_buffer_size_in_bytes(); | 43 | 7 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_j9HashCRC32IS6_EEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_j9HashCRC32IS6_EEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32IS5_EEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32IS5_EEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32IS5_EEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32IS7_EEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32IS5_EEEEEEDaRKT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32IS7_EEEEEEDaRKT_ |
44 | 7 | _hash_map_method.method_variant); |
45 | | |
46 | 7 | for (const auto& column : _key_columns) { |
47 | 7 | bytes += column->allocated_bytes(); |
48 | 7 | } |
49 | 7 | return bytes + IDictionary::allocated_bytes(); |
50 | 7 | } |
51 | | void ComplexHashMapDictionary::load_data(const ColumnPtrs& key_columns, const DataTypes& key_types, |
52 | 688 | const std::vector<ColumnPtr>& values_column) { |
53 | | // load key column |
54 | 688 | THROW_IF_ERROR(init_hash_method<DictionaryHashMapMethod>(&_hash_map_method, key_types, true)); |
55 | | |
56 | | // save key columns |
57 | 688 | _key_columns = key_columns; |
58 | | |
59 | 688 | std::visit( |
60 | 688 | Overload {[&](std::monostate& arg) { |
61 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
62 | 0 | }, |
63 | 688 | [&](auto&& dict_method) { |
64 | 688 | using HashMethodType = std::decay_t<decltype(dict_method)>; |
65 | 688 | using State = typename HashMethodType::State; |
66 | | |
67 | 688 | ColumnRawPtrs key_raw_columns; |
68 | 692 | for (const auto& column : key_columns) { |
69 | 692 | key_raw_columns.push_back(column.get()); |
70 | 692 | } |
71 | 688 | State state(key_raw_columns); |
72 | | |
73 | 688 | auto rows = uint32_t(key_columns[0]->size()); |
74 | 688 | dict_method.init_serialized_keys(key_raw_columns, rows); |
75 | 688 | size_t input_rows = 0; |
76 | 37.8k | for (int i = 0; i < rows; i++) { |
77 | 37.1k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { |
78 | 37.1k | ctor(key, i); |
79 | 37.1k | input_rows++; |
80 | 37.1k | }; Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefEjEEE11ConstructorES15_S15_EEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellIS14_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES14_S14_EEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItjEE19StringHashTableHash21StringHashTableGrowerILm4EESP_E11ConstructorEtNS_9StringRefEEEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEjNS_9StringRefEEEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEmNS_9StringRefEEEDaSW_SY_S10_ complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellIS16_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES16_NS_9StringRefEEEDaSW_SY_S10_ Line | Count | Source | 77 | 2 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 2 | ctor(key, i); | 79 | 2 | input_rows++; | 80 | 2 | }; |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefEjEEE11ConstructorES15_S15_EEDaSW_SY_S10_ complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellIS14_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES14_S14_EEDaSW_SY_S10_ Line | Count | Source | 77 | 52 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 52 | ctor(key, i); | 79 | 52 | input_rows++; | 80 | 52 | }; |
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItjEE19StringHashTableHash21StringHashTableGrowerILm4EESP_E11ConstructorEtNS_9StringRefEEEDaSW_SY_S10_ Line | Count | Source | 77 | 2.80k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 2.80k | ctor(key, i); | 79 | 2.80k | input_rows++; | 80 | 2.80k | }; |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEjNS_9StringRefEEEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEmNS_9StringRefEEEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellIS16_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES16_NS_9StringRefEEEDaSW_SY_S10_ complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyIhjEESO_NS_7EqualToIhEENS_10Allocator_ISt4pairIKhjEEEE11constructorEhhEEDaSV_SX_SZ_ Line | Count | Source | 77 | 5.72k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 5.72k | ctor(key, i); | 79 | 5.72k | input_rows++; | 80 | 5.72k | }; |
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyItjEESO_NS_7EqualToItEENS_10Allocator_ISt4pairIKtjEEEE11constructorEttEEDaSV_SX_SZ_ Line | Count | Source | 77 | 2.86k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 2.86k | ctor(key, i); | 79 | 2.86k | input_rows++; | 80 | 2.86k | }; |
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyIjjEESO_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjjEEEE11constructorEjjEEDaSV_SX_SZ_ Line | Count | Source | 77 | 11.4k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 11.4k | ctor(key, i); | 79 | 11.4k | input_rows++; | 80 | 11.4k | }; |
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyImjEESO_NS_7EqualToImEENS_10Allocator_ISt4pairIKmjEEEE11constructorEmmEEDaSV_SX_SZ_ Line | Count | Source | 77 | 8.58k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 8.58k | ctor(key, i); | 79 | 8.58k | input_rows++; | 80 | 8.58k | }; |
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISO_j9HashCRC32ISO_EEEEEEDaOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyISO_jEESR_NS_7EqualToISO_EENS_10Allocator_ISt4pairIKSO_jEEEE11constructorESO_SO_EEDaSY_S10_S12_ Line | Count | Source | 77 | 5.72k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 5.72k | ctor(key, i); | 79 | 5.72k | input_rows++; | 80 | 5.72k | }; |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISO_j9HashCRC32ISO_EEEEEEDaOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyISO_jEESR_NS_7EqualToISO_EENS_10Allocator_ISt4pairIKSO_jEEEE11constructorESO_SO_EEDaSY_S10_S12_ complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyImjEESO_NS_7EqualToImEENS_10Allocator_ISt4pairIKmjEEEE11constructorEmmEEDaSV_SX_SZ_ Line | Count | Source | 77 | 5 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 5 | ctor(key, i); | 79 | 5 | input_rows++; | 80 | 5 | }; |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_ complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_ Line | Count | Source | 77 | 7 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 7 | ctor(key, i); | 79 | 7 | input_rows++; | 80 | 7 | }; |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32ISP_EEEEEEDaOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyISP_jEESR_NS_7EqualToISP_EENS_10Allocator_ISt4pairIKSP_jEEEE11constructorESP_SP_EEDaSY_S10_S12_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32ISP_EEEEEEDaOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyISP_jEESR_NS_7EqualToISP_EENS_10Allocator_ISt4pairIKSP_jEEEE11constructorESP_SP_EEDaSY_S10_S12_ |
81 | | |
82 | 37.1k | auto creator_for_null_key = [&](auto& mapped) { |
83 | 37.1k | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); |
84 | 37.1k | }; |
85 | 37.1k | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); |
86 | 37.1k | } |
87 | 688 | if (input_rows < rows) { |
88 | 0 | throw doris::Exception( |
89 | 0 | ErrorCode::INVALID_ARGUMENT, |
90 | 0 | DICT_DATA_ERROR_TAG + |
91 | 0 | "The key has duplicate data in HashMapDictionary"); |
92 | 0 | } |
93 | 688 | }}, complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ Line | Count | Source | 63 | 1 | [&](auto&& dict_method) { | 64 | 1 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 1 | using State = typename HashMethodType::State; | 66 | | | 67 | 1 | ColumnRawPtrs key_raw_columns; | 68 | 2 | for (const auto& column : key_columns) { | 69 | 2 | key_raw_columns.push_back(column.get()); | 70 | 2 | } | 71 | 1 | State state(key_raw_columns); | 72 | | | 73 | 1 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 1 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 1 | size_t input_rows = 0; | 76 | 3 | for (int i = 0; i < rows; i++) { | 77 | 2 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 2 | ctor(key, i); | 79 | 2 | input_rows++; | 80 | 2 | }; | 81 | | | 82 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 83 | 2 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 2 | }; | 85 | 2 | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 2 | } | 87 | 1 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 1 | }}, |
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ Line | Count | Source | 63 | 52 | [&](auto&& dict_method) { | 64 | 52 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 52 | using State = typename HashMethodType::State; | 66 | | | 67 | 52 | ColumnRawPtrs key_raw_columns; | 68 | 52 | for (const auto& column : key_columns) { | 69 | 52 | key_raw_columns.push_back(column.get()); | 70 | 52 | } | 71 | 52 | State state(key_raw_columns); | 72 | | | 73 | 52 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 52 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 52 | size_t input_rows = 0; | 76 | 2.91k | for (int i = 0; i < rows; i++) { | 77 | 2.86k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 2.86k | ctor(key, i); | 79 | 2.86k | input_rows++; | 80 | 2.86k | }; | 81 | | | 82 | 2.86k | auto creator_for_null_key = [&](auto& mapped) { | 83 | 2.86k | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 2.86k | }; | 85 | 2.86k | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 2.86k | } | 87 | 52 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 52 | }}, |
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_ Line | Count | Source | 63 | 104 | [&](auto&& dict_method) { | 64 | 104 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 104 | using State = typename HashMethodType::State; | 66 | | | 67 | 104 | ColumnRawPtrs key_raw_columns; | 68 | 104 | for (const auto& column : key_columns) { | 69 | 104 | key_raw_columns.push_back(column.get()); | 70 | 104 | } | 71 | 104 | State state(key_raw_columns); | 72 | | | 73 | 104 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 104 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 104 | size_t input_rows = 0; | 76 | 5.82k | for (int i = 0; i < rows; i++) { | 77 | 5.72k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 5.72k | ctor(key, i); | 79 | 5.72k | input_rows++; | 80 | 5.72k | }; | 81 | | | 82 | 5.72k | auto creator_for_null_key = [&](auto& mapped) { | 83 | 5.72k | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 5.72k | }; | 85 | 5.72k | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 5.72k | } | 87 | 104 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 104 | }}, |
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_ Line | Count | Source | 63 | 52 | [&](auto&& dict_method) { | 64 | 52 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 52 | using State = typename HashMethodType::State; | 66 | | | 67 | 52 | ColumnRawPtrs key_raw_columns; | 68 | 52 | for (const auto& column : key_columns) { | 69 | 52 | key_raw_columns.push_back(column.get()); | 70 | 52 | } | 71 | 52 | State state(key_raw_columns); | 72 | | | 73 | 52 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 52 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 52 | size_t input_rows = 0; | 76 | 2.91k | for (int i = 0; i < rows; i++) { | 77 | 2.86k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 2.86k | ctor(key, i); | 79 | 2.86k | input_rows++; | 80 | 2.86k | }; | 81 | | | 82 | 2.86k | auto creator_for_null_key = [&](auto& mapped) { | 83 | 2.86k | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 2.86k | }; | 85 | 2.86k | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 2.86k | } | 87 | 52 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 52 | }}, |
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_ Line | Count | Source | 63 | 216 | [&](auto&& dict_method) { | 64 | 216 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 216 | using State = typename HashMethodType::State; | 66 | | | 67 | 216 | ColumnRawPtrs key_raw_columns; | 68 | 216 | for (const auto& column : key_columns) { | 69 | 216 | key_raw_columns.push_back(column.get()); | 70 | 216 | } | 71 | 216 | State state(key_raw_columns); | 72 | | | 73 | 216 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 216 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 216 | size_t input_rows = 0; | 76 | 11.6k | for (int i = 0; i < rows; i++) { | 77 | 11.4k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 11.4k | ctor(key, i); | 79 | 11.4k | input_rows++; | 80 | 11.4k | }; | 81 | | | 82 | 11.4k | auto creator_for_null_key = [&](auto& mapped) { | 83 | 11.4k | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 11.4k | }; | 85 | 11.4k | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 11.4k | } | 87 | 216 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 216 | }}, |
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_ Line | Count | Source | 63 | 156 | [&](auto&& dict_method) { | 64 | 156 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 156 | using State = typename HashMethodType::State; | 66 | | | 67 | 156 | ColumnRawPtrs key_raw_columns; | 68 | 156 | for (const auto& column : key_columns) { | 69 | 156 | key_raw_columns.push_back(column.get()); | 70 | 156 | } | 71 | 156 | State state(key_raw_columns); | 72 | | | 73 | 156 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 156 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 156 | size_t input_rows = 0; | 76 | 8.73k | for (int i = 0; i < rows; i++) { | 77 | 8.58k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 8.58k | ctor(key, i); | 79 | 8.58k | input_rows++; | 80 | 8.58k | }; | 81 | | | 82 | 8.58k | auto creator_for_null_key = [&](auto& mapped) { | 83 | 8.58k | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 8.58k | }; | 85 | 8.58k | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 8.58k | } | 87 | 156 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 156 | }}, |
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISO_j9HashCRC32ISO_EEEEEEDaOT_ Line | Count | Source | 63 | 104 | [&](auto&& dict_method) { | 64 | 104 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 104 | using State = typename HashMethodType::State; | 66 | | | 67 | 104 | ColumnRawPtrs key_raw_columns; | 68 | 104 | for (const auto& column : key_columns) { | 69 | 104 | key_raw_columns.push_back(column.get()); | 70 | 104 | } | 71 | 104 | State state(key_raw_columns); | 72 | | | 73 | 104 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 104 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 104 | size_t input_rows = 0; | 76 | 5.82k | for (int i = 0; i < rows; i++) { | 77 | 5.72k | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 5.72k | ctor(key, i); | 79 | 5.72k | input_rows++; | 80 | 5.72k | }; | 81 | | | 82 | 5.72k | auto creator_for_null_key = [&](auto& mapped) { | 83 | 5.72k | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 5.72k | }; | 85 | 5.72k | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 5.72k | } | 87 | 104 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 104 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISO_j9HashCRC32ISO_EEEEEEDaOT_ complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEEEEDaOT_ Line | Count | Source | 63 | 1 | [&](auto&& dict_method) { | 64 | 1 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 1 | using State = typename HashMethodType::State; | 66 | | | 67 | 1 | ColumnRawPtrs key_raw_columns; | 68 | 2 | for (const auto& column : key_columns) { | 69 | 2 | key_raw_columns.push_back(column.get()); | 70 | 2 | } | 71 | 1 | State state(key_raw_columns); | 72 | | | 73 | 1 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 1 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 1 | size_t input_rows = 0; | 76 | 6 | for (int i = 0; i < rows; i++) { | 77 | 5 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 5 | ctor(key, i); | 79 | 5 | input_rows++; | 80 | 5 | }; | 81 | | | 82 | 5 | auto creator_for_null_key = [&](auto& mapped) { | 83 | 5 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 5 | }; | 85 | 5 | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 5 | } | 87 | 1 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 1 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISN_EEEEEEDaOT_ complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32ISN_EEEEEEDaOT_ Line | Count | Source | 63 | 2 | [&](auto&& dict_method) { | 64 | 2 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 65 | 2 | using State = typename HashMethodType::State; | 66 | | | 67 | 2 | ColumnRawPtrs key_raw_columns; | 68 | 4 | for (const auto& column : key_columns) { | 69 | 4 | key_raw_columns.push_back(column.get()); | 70 | 4 | } | 71 | 2 | State state(key_raw_columns); | 72 | | | 73 | 2 | auto rows = uint32_t(key_columns[0]->size()); | 74 | 2 | dict_method.init_serialized_keys(key_raw_columns, rows); | 75 | 2 | size_t input_rows = 0; | 76 | 9 | for (int i = 0; i < rows; i++) { | 77 | 7 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 78 | 7 | ctor(key, i); | 79 | 7 | input_rows++; | 80 | 7 | }; | 81 | | | 82 | 7 | auto creator_for_null_key = [&](auto& mapped) { | 83 | 7 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key"); | 84 | 7 | }; | 85 | 7 | dict_method.lazy_emplace(state, i, creator, creator_for_null_key); | 86 | 7 | } | 87 | 2 | if (input_rows < rows) { | 88 | 0 | throw doris::Exception( | 89 | 0 | ErrorCode::INVALID_ARGUMENT, | 90 | 0 | DICT_DATA_ERROR_TAG + | 91 | 0 | "The key has duplicate data in HashMapDictionary"); | 92 | 0 | } | 93 | 2 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32ISN_EEEEEEDaOT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32ISP_EEEEEEDaOT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32ISN_EEEEEEDaOT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32ISP_EEEEEEDaOT_ |
94 | 688 | _hash_map_method.method_variant); |
95 | | |
96 | | // load value column |
97 | 688 | load_values(values_column); |
98 | 688 | } |
99 | | |
100 | | void ComplexHashMapDictionary::init_find_hash_map(DictionaryHashMapMethod& find_hash_map_method, |
101 | 1.02k | const DataTypes& key_types) const { |
102 | 1.02k | THROW_IF_ERROR( |
103 | 1.02k | init_hash_method<DictionaryHashMapMethod>(&find_hash_map_method, key_types, true)); |
104 | | |
105 | 1.02k | std::visit(Overload {[&](const std::monostate& arg) { |
106 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
107 | 0 | "uninited hash table"); |
108 | 0 | }, |
109 | 1.02k | [&](auto&& dict_method) { |
110 | 1.02k | using HashMethodType = |
111 | 1.02k | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; |
112 | 1.02k | if (!std::holds_alternative<HashMethodType>( |
113 | 1.02k | find_hash_map_method.method_variant)) { |
114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
115 | 0 | "key column not match"); |
116 | 0 | } |
117 | 1.02k | auto& find_hash_map = |
118 | 1.02k | std::get<HashMethodType>(find_hash_map_method.method_variant); |
119 | 1.02k | find_hash_map.hash_table = dict_method.hash_table; |
120 | 1.02k | }}, complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ Line | Count | Source | 109 | 1 | [&](auto&& dict_method) { | 110 | 1 | using HashMethodType = | 111 | 1 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 1 | if (!std::holds_alternative<HashMethodType>( | 113 | 1 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 1 | auto& find_hash_map = | 118 | 1 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 1 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 1 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ Line | Count | Source | 109 | 78 | [&](auto&& dict_method) { | 110 | 78 | using HashMethodType = | 111 | 78 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 78 | if (!std::holds_alternative<HashMethodType>( | 113 | 78 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 78 | auto& find_hash_map = | 118 | 78 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 78 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 78 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_ Line | Count | Source | 109 | 156 | [&](auto&& dict_method) { | 110 | 156 | using HashMethodType = | 111 | 156 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 156 | if (!std::holds_alternative<HashMethodType>( | 113 | 156 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 156 | auto& find_hash_map = | 118 | 156 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 156 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 156 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_ Line | Count | Source | 109 | 78 | [&](auto&& dict_method) { | 110 | 78 | using HashMethodType = | 111 | 78 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 78 | if (!std::holds_alternative<HashMethodType>( | 113 | 78 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 78 | auto& find_hash_map = | 118 | 78 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 78 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 78 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_ Line | Count | Source | 109 | 314 | [&](auto&& dict_method) { | 110 | 314 | using HashMethodType = | 111 | 314 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 314 | if (!std::holds_alternative<HashMethodType>( | 113 | 314 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 314 | auto& find_hash_map = | 118 | 314 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 314 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 314 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_ Line | Count | Source | 109 | 234 | [&](auto&& dict_method) { | 110 | 234 | using HashMethodType = | 111 | 234 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 234 | if (!std::holds_alternative<HashMethodType>( | 113 | 234 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 234 | auto& find_hash_map = | 118 | 234 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 234 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 234 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISH_j9HashCRC32ISH_EEEEEEDaOT_ Line | Count | Source | 109 | 156 | [&](auto&& dict_method) { | 110 | 156 | using HashMethodType = | 111 | 156 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 156 | if (!std::holds_alternative<HashMethodType>( | 113 | 156 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 156 | auto& find_hash_map = | 118 | 156 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 156 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 156 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISH_j9HashCRC32ISH_EEEEEEDaOT_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEEEEDaOT_ Line | Count | Source | 109 | 2 | [&](auto&& dict_method) { | 110 | 2 | using HashMethodType = | 111 | 2 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 2 | if (!std::holds_alternative<HashMethodType>( | 113 | 2 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 2 | auto& find_hash_map = | 118 | 2 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 2 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 2 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISG_EEEEEEDaOT_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32ISG_EEEEEEDaOT_ Line | Count | Source | 109 | 2 | [&](auto&& dict_method) { | 110 | 2 | using HashMethodType = | 111 | 2 | std::remove_cvref_t<std::decay_t<decltype(dict_method)>>; | 112 | 2 | if (!std::holds_alternative<HashMethodType>( | 113 | 2 | find_hash_map_method.method_variant)) { | 114 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, | 115 | 0 | "key column not match"); | 116 | 0 | } | 117 | 2 | auto& find_hash_map = | 118 | 2 | std::get<HashMethodType>(find_hash_map_method.method_variant); | 119 | 2 | find_hash_map.hash_table = dict_method.hash_table; | 120 | 2 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32ISG_EEEEEEDaOT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32ISI_EEEEEEDaOT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32ISG_EEEEEEDaOT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32ISI_EEEEEEDaOT_ |
121 | 1.02k | _hash_map_method.method_variant); |
122 | 1.02k | } |
123 | | |
124 | | ColumnPtrs ComplexHashMapDictionary::get_tuple_columns( |
125 | | const std::vector<std::string>& attribute_names, const DataTypes& attribute_types, |
126 | 1.02k | const ColumnPtrs& key_columns, const DataTypes& key_types) const { |
127 | 1.02k | if (have_nullable(attribute_types) || have_nullable(key_types)) { |
128 | 0 | throw doris::Exception( |
129 | 0 | ErrorCode::INTERNAL_ERROR, |
130 | 0 | "ComplexHashMapDictionary get_column attribute_type or key_type must " |
131 | 0 | "not nullable type"); |
132 | 0 | } |
133 | | |
134 | 1.02k | auto rows = uint32_t(key_columns[0]->size()); |
135 | 1.02k | IColumn::Selector value_index = IColumn::Selector(rows); |
136 | | // if key is not found, or key is null , wiil set true |
137 | 1.02k | NullMap key_not_found = NullMap(rows, false); |
138 | | |
139 | 1.02k | DictionaryHashMapMethod find_hash_map; |
140 | | // In init_find_hash_map, hashtable will be shared, similar to shared_hashtable in join |
141 | 1.02k | init_find_hash_map(find_hash_map, key_types); |
142 | | |
143 | 1.02k | bool key_hash_nullable = false; |
144 | | |
145 | 1.02k | ColumnRawPtrs key_raw_columns; |
146 | | |
147 | 1.02k | std::vector<const ColumnNullable*> nullable_key_raw_columns; |
148 | 1.02k | for (const auto& column : key_columns) { |
149 | 1.02k | key_raw_columns.push_back(remove_nullable(column).get()); |
150 | 1.02k | if (column->is_nullable()) { |
151 | 2 | key_hash_nullable = true; |
152 | 2 | nullable_key_raw_columns.push_back(assert_cast<const ColumnNullable*>(column.get())); |
153 | 2 | } |
154 | 1.02k | } |
155 | | |
156 | 1.02k | auto has_null_key = [&](size_t i) { |
157 | 8 | for (const auto* nullable_column : nullable_key_raw_columns) { |
158 | 8 | if (nullable_column->is_null_at(i)) { |
159 | 2 | return true; |
160 | 2 | } |
161 | 8 | } |
162 | 6 | return false; |
163 | 8 | }; |
164 | | |
165 | 1.02k | std::visit(Overload { |
166 | | |
167 | 1.02k | [&](std::monostate& arg, auto key_hash_nullable) { |
168 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
169 | 0 | }, Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_0clISt17integral_constantIbLb0EEEEDaRSt9monostateT_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_0clISt17integral_constantIbLb1EEEEDaRSt9monostateT_ |
170 | 1.02k | [&](auto&& dict_method, auto key_hash_nullable) { |
171 | 1.02k | using HashMethodType = std::decay_t<decltype(dict_method)>; |
172 | 1.02k | using State = typename HashMethodType::State; |
173 | 1.02k | State state(key_raw_columns); |
174 | 1.02k | dict_method.init_serialized_keys(key_raw_columns, rows); |
175 | 56.8k | for (size_t i = 0; i < rows; ++i) { |
176 | 55.7k | if constexpr (key_hash_nullable) { |
177 | | // if any key is null, we will not find it in the hash table |
178 | 8 | if (has_null_key(i)) { |
179 | 2 | key_not_found[i] = true; |
180 | 2 | continue; |
181 | 2 | } |
182 | 8 | } |
183 | 6 | auto find_result = dict_method.find(state, i); |
184 | 55.7k | if (find_result.is_found()) { |
185 | 55.7k | value_index[i] = find_result.get_mapped(); |
186 | 55.7k | } else { |
187 | 9 | key_not_found[i] = true; |
188 | 9 | } |
189 | 55.7k | } |
190 | 1.02k | }}, complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 1 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 1 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 1 | using State = typename HashMethodType::State; | 173 | 1 | State state(key_raw_columns); | 174 | 1 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 4 | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 3 | auto find_result = dict_method.find(state, i); | 184 | 3 | if (find_result.is_found()) { | 185 | 2 | value_index[i] = find_result.get_mapped(); | 186 | 2 | } else { | 187 | 1 | key_not_found[i] = true; | 188 | 1 | } | 189 | 3 | } | 190 | 1 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 78 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 78 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 78 | using State = typename HashMethodType::State; | 173 | 78 | State state(key_raw_columns); | 174 | 78 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 4.36k | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 4.29k | auto find_result = dict_method.find(state, i); | 184 | 4.29k | if (find_result.is_found()) { | 185 | 4.29k | value_index[i] = find_result.get_mapped(); | 186 | 4.29k | } else { | 187 | 0 | key_not_found[i] = true; | 188 | 0 | } | 189 | 4.29k | } | 190 | 78 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 156 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 156 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 156 | using State = typename HashMethodType::State; | 173 | 156 | State state(key_raw_columns); | 174 | 156 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 8.73k | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 8.58k | auto find_result = dict_method.find(state, i); | 184 | 8.58k | if (find_result.is_found()) { | 185 | 8.58k | value_index[i] = find_result.get_mapped(); | 186 | 8.58k | } else { | 187 | 0 | key_not_found[i] = true; | 188 | 0 | } | 189 | 8.58k | } | 190 | 156 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 78 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 78 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 78 | using State = typename HashMethodType::State; | 173 | 78 | State state(key_raw_columns); | 174 | 78 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 4.36k | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 4.29k | auto find_result = dict_method.find(state, i); | 184 | 4.29k | if (find_result.is_found()) { | 185 | 4.29k | value_index[i] = find_result.get_mapped(); | 186 | 4.29k | } else { | 187 | 0 | key_not_found[i] = true; | 188 | 0 | } | 189 | 4.29k | } | 190 | 78 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 313 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 313 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 313 | using State = typename HashMethodType::State; | 173 | 313 | State state(key_raw_columns); | 174 | 313 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 17.4k | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 17.1k | auto find_result = dict_method.find(state, i); | 184 | 17.1k | if (find_result.is_found()) { | 185 | 17.1k | value_index[i] = find_result.get_mapped(); | 186 | 17.1k | } else { | 187 | 1 | key_not_found[i] = true; | 188 | 1 | } | 189 | 17.1k | } | 190 | 313 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEESt17integral_constantIbLb1EEEEDaOT_T0_ Line | Count | Source | 170 | 1 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 1 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 1 | using State = typename HashMethodType::State; | 173 | 1 | State state(key_raw_columns); | 174 | 1 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 6 | for (size_t i = 0; i < rows; ++i) { | 176 | 4 | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | 4 | if (has_null_key(i)) { | 179 | 1 | key_not_found[i] = true; | 180 | 1 | continue; | 181 | 1 | } | 182 | 4 | } | 183 | 3 | auto find_result = dict_method.find(state, i); | 184 | 4 | if (find_result.is_found()) { | 185 | 2 | value_index[i] = find_result.get_mapped(); | 186 | 2 | } else { | 187 | 2 | key_not_found[i] = true; | 188 | 2 | } | 189 | 4 | } | 190 | 1 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 234 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 234 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 234 | using State = typename HashMethodType::State; | 173 | 234 | State state(key_raw_columns); | 174 | 234 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 13.1k | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 12.8k | auto find_result = dict_method.find(state, i); | 184 | 12.8k | if (find_result.is_found()) { | 185 | 12.8k | value_index[i] = find_result.get_mapped(); | 186 | 12.8k | } else { | 187 | 0 | key_not_found[i] = true; | 188 | 0 | } | 189 | 12.8k | } | 190 | 234 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISY_j9HashCRC32ISY_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 156 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 156 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 156 | using State = typename HashMethodType::State; | 173 | 156 | State state(key_raw_columns); | 174 | 156 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 8.73k | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 8.58k | auto find_result = dict_method.find(state, i); | 184 | 8.58k | if (find_result.is_found()) { | 185 | 8.58k | value_index[i] = find_result.get_mapped(); | 186 | 8.58k | } else { | 187 | 0 | key_not_found[i] = true; | 188 | 0 | } | 189 | 8.58k | } | 190 | 156 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISY_j9HashCRC32ISY_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISY_j9HashCRC32ISY_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISY_j9HashCRC32ISY_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 1 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 1 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 1 | using State = typename HashMethodType::State; | 173 | 1 | State state(key_raw_columns); | 174 | 1 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 4 | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 3 | auto find_result = dict_method.find(state, i); | 184 | 3 | if (find_result.is_found()) { | 185 | 2 | value_index[i] = find_result.get_mapped(); | 186 | 2 | } else { | 187 | 1 | key_not_found[i] = true; | 188 | 1 | } | 189 | 3 | } | 190 | 1 | }}, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEESt17integral_constantIbLb1EEEEDaOT_T0_ Line | Count | Source | 170 | 1 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 1 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 1 | using State = typename HashMethodType::State; | 173 | 1 | State state(key_raw_columns); | 174 | 1 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 6 | for (size_t i = 0; i < rows; ++i) { | 176 | 4 | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | 4 | if (has_null_key(i)) { | 179 | 1 | key_not_found[i] = true; | 180 | 1 | continue; | 181 | 1 | } | 182 | 4 | } | 183 | 3 | auto find_result = dict_method.find(state, i); | 184 | 4 | if (find_result.is_found()) { | 185 | 2 | value_index[i] = find_result.get_mapped(); | 186 | 2 | } else { | 187 | 2 | key_not_found[i] = true; | 188 | 2 | } | 189 | 4 | } | 190 | 1 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISX_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISX_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32ISX_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 170 | 2 | [&](auto&& dict_method, auto key_hash_nullable) { | 171 | 2 | using HashMethodType = std::decay_t<decltype(dict_method)>; | 172 | 2 | using State = typename HashMethodType::State; | 173 | 2 | State state(key_raw_columns); | 174 | 2 | dict_method.init_serialized_keys(key_raw_columns, rows); | 175 | 11 | for (size_t i = 0; i < rows; ++i) { | 176 | | if constexpr (key_hash_nullable) { | 177 | | // if any key is null, we will not find it in the hash table | 178 | | if (has_null_key(i)) { | 179 | | key_not_found[i] = true; | 180 | | continue; | 181 | | } | 182 | | } | 183 | 9 | auto find_result = dict_method.find(state, i); | 184 | 9 | if (find_result.is_found()) { | 185 | 7 | value_index[i] = find_result.get_mapped(); | 186 | 7 | } else { | 187 | 2 | key_not_found[i] = true; | 188 | 2 | } | 189 | 9 | } | 190 | 2 | }}, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32ISX_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32ISX_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32ISX_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32ISZ_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32ISZ_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32ISX_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32ISX_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32ISZ_EEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32ISZ_EEEESt17integral_constantIbLb1EEEEDaOT_T0_ |
191 | 1.02k | find_hash_map.method_variant, make_bool_variant(key_hash_nullable)); |
192 | | |
193 | 1.02k | ColumnPtrs columns; |
194 | 2.04k | for (size_t i = 0; i < attribute_names.size(); ++i) { |
195 | 1.02k | columns.push_back(get_single_value_column(value_index, key_not_found, attribute_names[i], |
196 | 1.02k | attribute_types[i])); |
197 | 1.02k | } |
198 | 1.02k | return columns; |
199 | 1.02k | } |
200 | | |
201 | | ColumnPtr ComplexHashMapDictionary::get_single_value_column( |
202 | | const IColumn::Selector& value_index, const NullMap& key_not_found, |
203 | 1.02k | const std::string& attribute_name, const DataTypePtr& attribute_type) const { |
204 | 1.02k | const auto rows = value_index.size(); |
205 | 1.02k | MutableColumnPtr res_column = attribute_type->create_column(); |
206 | 1.02k | ColumnUInt8::MutablePtr res_null = ColumnUInt8::create(rows, false); |
207 | 1.02k | auto& res_null_map = res_null->get_data(); |
208 | 1.02k | const auto& value_data = _values_data[attribute_index(attribute_name)]; |
209 | 1.02k | std::visit( |
210 | 1.02k | [&](auto&& arg, auto value_is_nullable) { |
211 | 1.02k | using ValueDataType = std::decay_t<decltype(arg)>; |
212 | 1.02k | using OutputColumnType = ValueDataType::OutputColumnType; |
213 | 1.02k | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); |
214 | 1.02k | const auto* value_column = arg.get(); |
215 | 1.02k | const auto* value_null_map = arg.get_null_map(); |
216 | 56.8k | for (size_t i = 0; i < rows; i++) { |
217 | 55.8k | if (key_not_found[i]) { |
218 | | // if input key is not found, set the result column to null |
219 | 17 | res_real_column->insert_default(); |
220 | 17 | res_null_map[i] = true; |
221 | 55.8k | } else { |
222 | 55.8k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], |
223 | 55.8k | value_column, value_null_map, |
224 | 55.8k | value_index[i]); |
225 | 55.8k | } |
226 | 55.8k | } |
227 | 1.02k | }, complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 82 | [&](auto&& arg, auto value_is_nullable) { | 211 | 82 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 82 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 82 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 82 | const auto* value_column = arg.get(); | 215 | 82 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.38k | for (size_t i = 0; i < rows; i++) { | 217 | 4.30k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 5 | res_real_column->insert_default(); | 220 | 5 | res_null_map[i] = true; | 221 | 4.30k | } else { | 222 | 4.30k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.30k | value_column, value_null_map, | 224 | 4.30k | value_index[i]); | 225 | 4.30k | } | 226 | 4.30k | } | 227 | 82 | }, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ Line | Count | Source | 210 | 4 | [&](auto&& arg, auto value_is_nullable) { | 211 | 4 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 4 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 4 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 4 | const auto* value_column = arg.get(); | 215 | 4 | const auto* value_null_map = arg.get_null_map(); | 216 | 21 | for (size_t i = 0; i < rows; i++) { | 217 | 17 | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 6 | res_real_column->insert_default(); | 220 | 6 | res_null_map[i] = true; | 221 | 11 | } else { | 222 | 11 | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 11 | value_column, value_null_map, | 224 | 11 | value_index[i]); | 225 | 11 | } | 226 | 17 | } | 227 | 4 | }, |
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 80 | [&](auto&& arg, auto value_is_nullable) { | 211 | 80 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 80 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 80 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 80 | const auto* value_column = arg.get(); | 215 | 80 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.37k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 2 | res_real_column->insert_default(); | 220 | 2 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 80 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 79 | [&](auto&& arg, auto value_is_nullable) { | 211 | 79 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 79 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 79 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 79 | const auto* value_column = arg.get(); | 215 | 79 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.37k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 1 | res_real_column->insert_default(); | 220 | 1 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 79 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv4EEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv4EEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv6EEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv6EEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeStringEEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 55 | [&](auto&& arg, auto value_is_nullable) { | 211 | 55 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 55 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 55 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 55 | const auto* value_column = arg.get(); | 215 | 55 | const auto* value_null_map = arg.get_null_map(); | 216 | 2.92k | for (size_t i = 0; i < rows; i++) { | 217 | 2.87k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 3 | res_real_column->insert_default(); | 220 | 3 | res_null_map[i] = true; | 221 | 2.86k | } else { | 222 | 2.86k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 2.86k | value_column, value_null_map, | 224 | 2.86k | value_index[i]); | 225 | 2.86k | } | 226 | 2.87k | } | 227 | 55 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeStringEEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINSR_20DictDataTypeString64EEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 26 | [&](auto&& arg, auto value_is_nullable) { | 211 | 26 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 26 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 26 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 26 | const auto* value_column = arg.get(); | 215 | 26 | const auto* value_null_map = arg.get_null_map(); | 216 | 1.45k | for (size_t i = 0; i < rows; i++) { | 217 | 1.43k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 1.43k | } else { | 222 | 1.43k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 1.43k | value_column, value_null_map, | 224 | 1.43k | value_index[i]); | 225 | 1.43k | } | 226 | 1.43k | } | 227 | 26 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINSR_20DictDataTypeString64EEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeDateV2EEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeDateV2EEESt17integral_constantIbLb1EEEEDaOT_T0_ complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_18DataTypeDateTimeV2EEESt17integral_constantIbLb0EEEEDaOT_T0_ Line | Count | Source | 210 | 78 | [&](auto&& arg, auto value_is_nullable) { | 211 | 78 | using ValueDataType = std::decay_t<decltype(arg)>; | 212 | 78 | using OutputColumnType = ValueDataType::OutputColumnType; | 213 | 78 | auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get()); | 214 | 78 | const auto* value_column = arg.get(); | 215 | 78 | const auto* value_null_map = arg.get_null_map(); | 216 | 4.36k | for (size_t i = 0; i < rows; i++) { | 217 | 4.29k | if (key_not_found[i]) { | 218 | | // if input key is not found, set the result column to null | 219 | 0 | res_real_column->insert_default(); | 220 | 0 | res_null_map[i] = true; | 221 | 4.29k | } else { | 222 | 4.29k | set_value_data<value_is_nullable>(res_real_column, res_null_map[i], | 223 | 4.29k | value_column, value_null_map, | 224 | 4.29k | value_index[i]); | 225 | 4.29k | } | 226 | 4.29k | } | 227 | 78 | }, |
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_18DataTypeDateTimeV2EEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEEESt17integral_constantIbLb0EEEEDaOT_T0_ Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb0EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEEESt17integral_constantIbLb1EEEEDaOT_T0_ |
228 | 1.02k | value_data, attribute_nullable_variant(attribute_index(attribute_name))); |
229 | | |
230 | 1.02k | return ColumnNullable::create(std::move(res_column), std::move(res_null)); |
231 | 1.02k | } |
232 | | #include "common/compile_check_end.h" |
233 | | } // namespace doris |