Coverage Report

Created: 2026-07-25 15:41

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
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
1.37k
ComplexHashMapDictionary::~ComplexHashMapDictionary() {
30
1.37k
    if (_mem_tracker) {
31
10
        SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(_mem_tracker);
32
10
        _hash_map_method.method_variant.emplace<std::monostate>();
33
10
        ColumnPtrs {}.swap(_key_columns);
34
10
    }
35
1.37k
}
36
37
14
size_t ComplexHashMapDictionary::allocated_bytes() const {
38
14
    size_t bytes = 0;
39
14
    std::visit(Overload {[&](const std::monostate& arg) { bytes = 0; },
40
14
                         [&](const auto& dict_method) {
41
14
                             bytes = dict_method.hash_table->get_buffer_size_in_bytes();
42
14
                         }},
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
40
14
                         [&](const auto& dict_method) {
41
14
                             bytes = dict_method.hash_table->get_buffer_size_in_bytes();
42
14
                         }},
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_
43
14
               _hash_map_method.method_variant);
44
45
14
    for (const auto& column : _key_columns) {
46
14
        bytes += column->allocated_bytes();
47
14
    }
48
14
    return bytes + IDictionary::allocated_bytes();
49
14
}
50
void ComplexHashMapDictionary::load_data(const ColumnPtrs& key_columns, const DataTypes& key_types,
51
1.37k
                                         const std::vector<ColumnPtr>& values_column) {
52
    // load key column
53
1.37k
    THROW_IF_ERROR(init_hash_method<DictionaryHashMapMethod>(&_hash_map_method, key_types, true));
54
55
    // save key columns
56
1.37k
    _key_columns = key_columns;
57
58
1.37k
    std::visit(
59
1.37k
            Overload {[&](std::monostate& arg) {
60
0
                          throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table");
61
0
                      },
62
1.37k
                      [&](auto&& dict_method) {
63
1.37k
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
1.37k
                          using State = typename HashMethodType::State;
65
66
1.37k
                          ColumnRawPtrs key_raw_columns;
67
1.38k
                          for (const auto& column : key_columns) {
68
1.38k
                              key_raw_columns.push_back(column.get());
69
1.38k
                          }
70
1.37k
                          State state(key_raw_columns);
71
72
1.37k
                          auto rows = uint32_t(key_columns[0]->size());
73
1.37k
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
1.37k
                          size_t input_rows = 0;
75
75.7k
                          for (int i = 0; i < rows; i++) {
76
74.3k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
74.3k
                                  ctor(key, i);
78
74.3k
                                  input_rows++;
79
74.3k
                              };
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
76
4
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
4
                                  ctor(key, i);
78
4
                                  input_rows++;
79
4
                              };
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
76
104
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
104
                                  ctor(key, i);
78
104
                                  input_rows++;
79
104
                              };
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
76
5.61k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
5.61k
                                  ctor(key, i);
78
5.61k
                                  input_rows++;
79
5.61k
                              };
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
76
11.4k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
11.4k
                                  ctor(key, i);
78
11.4k
                                  input_rows++;
79
11.4k
                              };
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
76
5.72k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
5.72k
                                  ctor(key, i);
78
5.72k
                                  input_rows++;
79
5.72k
                              };
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
76
22.8k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
22.8k
                                  ctor(key, i);
78
22.8k
                                  input_rows++;
79
22.8k
                              };
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
76
17.1k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
17.1k
                                  ctor(key, i);
78
17.1k
                                  input_rows++;
79
17.1k
                              };
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
76
11.4k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
11.4k
                                  ctor(key, i);
78
11.4k
                                  input_rows++;
79
11.4k
                              };
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
76
10
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
10
                                  ctor(key, i);
78
10
                                  input_rows++;
79
10
                              };
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
76
14
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
14
                                  ctor(key, i);
78
14
                                  input_rows++;
79
14
                              };
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_
80
81
74.3k
                              auto creator_for_null_key = [&](auto& mapped) {
82
74.3k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
74.3k
                              };
84
74.3k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
74.3k
                          }
86
1.37k
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
1.37k
                      }},
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
62
2
                      [&](auto&& dict_method) {
63
2
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
2
                          using State = typename HashMethodType::State;
65
66
2
                          ColumnRawPtrs key_raw_columns;
67
4
                          for (const auto& column : key_columns) {
68
4
                              key_raw_columns.push_back(column.get());
69
4
                          }
70
2
                          State state(key_raw_columns);
71
72
2
                          auto rows = uint32_t(key_columns[0]->size());
73
2
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
2
                          size_t input_rows = 0;
75
6
                          for (int i = 0; i < rows; i++) {
76
4
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
4
                                  ctor(key, i);
78
4
                                  input_rows++;
79
4
                              };
80
81
4
                              auto creator_for_null_key = [&](auto& mapped) {
82
4
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
4
                              };
84
4
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
4
                          }
86
2
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
2
                      }},
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
62
104
                      [&](auto&& dict_method) {
63
104
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
104
                          using State = typename HashMethodType::State;
65
66
104
                          ColumnRawPtrs key_raw_columns;
67
104
                          for (const auto& column : key_columns) {
68
104
                              key_raw_columns.push_back(column.get());
69
104
                          }
70
104
                          State state(key_raw_columns);
71
72
104
                          auto rows = uint32_t(key_columns[0]->size());
73
104
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
104
                          size_t input_rows = 0;
75
5.82k
                          for (int i = 0; i < rows; i++) {
76
5.72k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
5.72k
                                  ctor(key, i);
78
5.72k
                                  input_rows++;
79
5.72k
                              };
80
81
5.72k
                              auto creator_for_null_key = [&](auto& mapped) {
82
5.72k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
5.72k
                              };
84
5.72k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
5.72k
                          }
86
104
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
104
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_
Line
Count
Source
62
208
                      [&](auto&& dict_method) {
63
208
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
208
                          using State = typename HashMethodType::State;
65
66
208
                          ColumnRawPtrs key_raw_columns;
67
208
                          for (const auto& column : key_columns) {
68
208
                              key_raw_columns.push_back(column.get());
69
208
                          }
70
208
                          State state(key_raw_columns);
71
72
208
                          auto rows = uint32_t(key_columns[0]->size());
73
208
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
208
                          size_t input_rows = 0;
75
11.6k
                          for (int i = 0; i < rows; i++) {
76
11.4k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
11.4k
                                  ctor(key, i);
78
11.4k
                                  input_rows++;
79
11.4k
                              };
80
81
11.4k
                              auto creator_for_null_key = [&](auto& mapped) {
82
11.4k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
11.4k
                              };
84
11.4k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
11.4k
                          }
86
208
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
208
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_
Line
Count
Source
62
104
                      [&](auto&& dict_method) {
63
104
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
104
                          using State = typename HashMethodType::State;
65
66
104
                          ColumnRawPtrs key_raw_columns;
67
104
                          for (const auto& column : key_columns) {
68
104
                              key_raw_columns.push_back(column.get());
69
104
                          }
70
104
                          State state(key_raw_columns);
71
72
104
                          auto rows = uint32_t(key_columns[0]->size());
73
104
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
104
                          size_t input_rows = 0;
75
5.82k
                          for (int i = 0; i < rows; i++) {
76
5.72k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
5.72k
                                  ctor(key, i);
78
5.72k
                                  input_rows++;
79
5.72k
                              };
80
81
5.72k
                              auto creator_for_null_key = [&](auto& mapped) {
82
5.72k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
5.72k
                              };
84
5.72k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
5.72k
                          }
86
104
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
104
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_
Line
Count
Source
62
432
                      [&](auto&& dict_method) {
63
432
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
432
                          using State = typename HashMethodType::State;
65
66
432
                          ColumnRawPtrs key_raw_columns;
67
432
                          for (const auto& column : key_columns) {
68
432
                              key_raw_columns.push_back(column.get());
69
432
                          }
70
432
                          State state(key_raw_columns);
71
72
432
                          auto rows = uint32_t(key_columns[0]->size());
73
432
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
432
                          size_t input_rows = 0;
75
23.3k
                          for (int i = 0; i < rows; i++) {
76
22.8k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
22.8k
                                  ctor(key, i);
78
22.8k
                                  input_rows++;
79
22.8k
                              };
80
81
22.8k
                              auto creator_for_null_key = [&](auto& mapped) {
82
22.8k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
22.8k
                              };
84
22.8k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
22.8k
                          }
86
432
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
432
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_
Line
Count
Source
62
312
                      [&](auto&& dict_method) {
63
312
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
312
                          using State = typename HashMethodType::State;
65
66
312
                          ColumnRawPtrs key_raw_columns;
67
312
                          for (const auto& column : key_columns) {
68
312
                              key_raw_columns.push_back(column.get());
69
312
                          }
70
312
                          State state(key_raw_columns);
71
72
312
                          auto rows = uint32_t(key_columns[0]->size());
73
312
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
312
                          size_t input_rows = 0;
75
17.4k
                          for (int i = 0; i < rows; i++) {
76
17.1k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
17.1k
                                  ctor(key, i);
78
17.1k
                                  input_rows++;
79
17.1k
                              };
80
81
17.1k
                              auto creator_for_null_key = [&](auto& mapped) {
82
17.1k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
17.1k
                              };
84
17.1k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
17.1k
                          }
86
312
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
312
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISO_j9HashCRC32ISO_EEEEEEDaOT_
Line
Count
Source
62
208
                      [&](auto&& dict_method) {
63
208
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
208
                          using State = typename HashMethodType::State;
65
66
208
                          ColumnRawPtrs key_raw_columns;
67
208
                          for (const auto& column : key_columns) {
68
208
                              key_raw_columns.push_back(column.get());
69
208
                          }
70
208
                          State state(key_raw_columns);
71
72
208
                          auto rows = uint32_t(key_columns[0]->size());
73
208
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
208
                          size_t input_rows = 0;
75
11.6k
                          for (int i = 0; i < rows; i++) {
76
11.4k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
11.4k
                                  ctor(key, i);
78
11.4k
                                  input_rows++;
79
11.4k
                              };
80
81
11.4k
                              auto creator_for_null_key = [&](auto& mapped) {
82
11.4k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
11.4k
                              };
84
11.4k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
11.4k
                          }
86
208
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
208
                      }},
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
62
2
                      [&](auto&& dict_method) {
63
2
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
2
                          using State = typename HashMethodType::State;
65
66
2
                          ColumnRawPtrs key_raw_columns;
67
4
                          for (const auto& column : key_columns) {
68
4
                              key_raw_columns.push_back(column.get());
69
4
                          }
70
2
                          State state(key_raw_columns);
71
72
2
                          auto rows = uint32_t(key_columns[0]->size());
73
2
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
2
                          size_t input_rows = 0;
75
12
                          for (int i = 0; i < rows; i++) {
76
10
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
10
                                  ctor(key, i);
78
10
                                  input_rows++;
79
10
                              };
80
81
10
                              auto creator_for_null_key = [&](auto& mapped) {
82
10
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
10
                              };
84
10
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
10
                          }
86
2
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
2
                      }},
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
62
4
                      [&](auto&& dict_method) {
63
4
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
4
                          using State = typename HashMethodType::State;
65
66
4
                          ColumnRawPtrs key_raw_columns;
67
8
                          for (const auto& column : key_columns) {
68
8
                              key_raw_columns.push_back(column.get());
69
8
                          }
70
4
                          State state(key_raw_columns);
71
72
4
                          auto rows = uint32_t(key_columns[0]->size());
73
4
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
4
                          size_t input_rows = 0;
75
18
                          for (int i = 0; i < rows; i++) {
76
14
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
14
                                  ctor(key, i);
78
14
                                  input_rows++;
79
14
                              };
80
81
14
                              auto creator_for_null_key = [&](auto& mapped) {
82
14
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
14
                              };
84
14
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
14
                          }
86
4
                          if (input_rows < rows) {
87
0
                              throw doris::Exception(
88
0
                                      ErrorCode::INVALID_ARGUMENT,
89
0
                                      DICT_DATA_ERROR_TAG +
90
0
                                              "The key has duplicate data in HashMapDictionary");
91
0
                          }
92
4
                      }},
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_
93
1.37k
            _hash_map_method.method_variant);
94
95
    // load value column
96
1.37k
    load_values(values_column);
97
1.37k
}
98
99
void ComplexHashMapDictionary::init_find_hash_map(DictionaryHashMapMethod& find_hash_map_method,
100
2.04k
                                                  const DataTypes& key_types) const {
101
2.04k
    THROW_IF_ERROR(
102
2.04k
            init_hash_method<DictionaryHashMapMethod>(&find_hash_map_method, key_types, true));
103
104
2.04k
    std::visit(Overload {[&](const std::monostate& arg) {
105
0
                             throw doris::Exception(ErrorCode::INTERNAL_ERROR,
106
0
                                                    "uninited hash table");
107
0
                         },
108
2.04k
                         [&](auto&& dict_method) {
109
2.04k
                             using HashMethodType =
110
2.04k
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
2.04k
                             if (!std::holds_alternative<HashMethodType>(
112
2.04k
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
2.04k
                             auto& find_hash_map =
117
2.04k
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
2.04k
                             find_hash_map.hash_table = dict_method.hash_table;
119
2.04k
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_
Line
Count
Source
108
2
                         [&](auto&& dict_method) {
109
2
                             using HashMethodType =
110
2
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
2
                             if (!std::holds_alternative<HashMethodType>(
112
2
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
2
                             auto& find_hash_map =
117
2
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
2
                             find_hash_map.hash_table = dict_method.hash_table;
119
2
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_
Line
Count
Source
108
156
                         [&](auto&& dict_method) {
109
156
                             using HashMethodType =
110
156
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
156
                             if (!std::holds_alternative<HashMethodType>(
112
156
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
156
                             auto& find_hash_map =
117
156
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
156
                             find_hash_map.hash_table = dict_method.hash_table;
119
156
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_
Line
Count
Source
108
312
                         [&](auto&& dict_method) {
109
312
                             using HashMethodType =
110
312
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
312
                             if (!std::holds_alternative<HashMethodType>(
112
312
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
312
                             auto& find_hash_map =
117
312
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
312
                             find_hash_map.hash_table = dict_method.hash_table;
119
312
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_
Line
Count
Source
108
156
                         [&](auto&& dict_method) {
109
156
                             using HashMethodType =
110
156
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
156
                             if (!std::holds_alternative<HashMethodType>(
112
156
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
156
                             auto& find_hash_map =
117
156
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
156
                             find_hash_map.hash_table = dict_method.hash_table;
119
156
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_
Line
Count
Source
108
628
                         [&](auto&& dict_method) {
109
628
                             using HashMethodType =
110
628
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
628
                             if (!std::holds_alternative<HashMethodType>(
112
628
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
628
                             auto& find_hash_map =
117
628
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
628
                             find_hash_map.hash_table = dict_method.hash_table;
119
628
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_
Line
Count
Source
108
468
                         [&](auto&& dict_method) {
109
468
                             using HashMethodType =
110
468
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
468
                             if (!std::holds_alternative<HashMethodType>(
112
468
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
468
                             auto& find_hash_map =
117
468
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
468
                             find_hash_map.hash_table = dict_method.hash_table;
119
468
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISH_j9HashCRC32ISH_EEEEEEDaOT_
Line
Count
Source
108
312
                         [&](auto&& dict_method) {
109
312
                             using HashMethodType =
110
312
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
312
                             if (!std::holds_alternative<HashMethodType>(
112
312
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
312
                             auto& find_hash_map =
117
312
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
312
                             find_hash_map.hash_table = dict_method.hash_table;
119
312
                         }},
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
108
4
                         [&](auto&& dict_method) {
109
4
                             using HashMethodType =
110
4
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
4
                             if (!std::holds_alternative<HashMethodType>(
112
4
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
4
                             auto& find_hash_map =
117
4
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
4
                             find_hash_map.hash_table = dict_method.hash_table;
119
4
                         }},
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
108
4
                         [&](auto&& dict_method) {
109
4
                             using HashMethodType =
110
4
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
4
                             if (!std::holds_alternative<HashMethodType>(
112
4
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
4
                             auto& find_hash_map =
117
4
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
4
                             find_hash_map.hash_table = dict_method.hash_table;
119
4
                         }},
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_
120
2.04k
               _hash_map_method.method_variant);
121
2.04k
}
122
123
ColumnPtrs ComplexHashMapDictionary::get_tuple_columns(
124
        const std::vector<std::string>& attribute_names, const DataTypes& attribute_types,
125
2.04k
        const ColumnPtrs& key_columns, const DataTypes& key_types) const {
126
2.04k
    if (have_nullable(attribute_types) || have_nullable(key_types)) {
127
0
        throw doris::Exception(
128
0
                ErrorCode::INTERNAL_ERROR,
129
0
                "ComplexHashMapDictionary get_column attribute_type or key_type must "
130
0
                "not nullable type");
131
0
    }
132
133
2.04k
    auto rows = uint32_t(key_columns[0]->size());
134
2.04k
    IColumn::Selector value_index = IColumn::Selector(rows);
135
    // if key is not found, or key is null , wiil set true
136
2.04k
    NullMap key_not_found = NullMap(rows, false);
137
138
2.04k
    DictionaryHashMapMethod find_hash_map;
139
    // In init_find_hash_map, hashtable will be shared, similar to shared_hashtable in join
140
2.04k
    init_find_hash_map(find_hash_map, key_types);
141
142
2.04k
    bool key_hash_nullable = false;
143
144
2.04k
    ColumnRawPtrs key_raw_columns;
145
146
2.04k
    std::vector<const ColumnNullable*> nullable_key_raw_columns;
147
2.05k
    for (const auto& column : key_columns) {
148
2.05k
        key_raw_columns.push_back(remove_nullable(column).get());
149
2.05k
        if (is_column_nullable(*column)) {
150
4
            key_hash_nullable = true;
151
4
            nullable_key_raw_columns.push_back(assert_cast<const ColumnNullable*>(column.get()));
152
4
        }
153
2.05k
    }
154
155
2.04k
    auto has_null_key = [&](size_t i) {
156
16
        for (const auto* nullable_column : nullable_key_raw_columns) {
157
16
            if (nullable_column->is_null_at(i)) {
158
4
                return true;
159
4
            }
160
16
        }
161
12
        return false;
162
16
    };
163
164
2.04k
    std::visit(Overload {
165
166
2.04k
                       [&](std::monostate& arg, auto key_hash_nullable) {
167
0
                           throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table");
168
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_
169
2.04k
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
2.04k
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
2.04k
                           using State = typename HashMethodType::State;
172
2.04k
                           State state(key_raw_columns);
173
2.04k
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
113k
                           for (size_t i = 0; i < rows; ++i) {
175
111k
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
16
                                   if (has_null_key(i)) {
178
4
                                       key_not_found[i] = true;
179
4
                                       continue;
180
4
                                   }
181
16
                               }
182
12
                               auto find_result = dict_method.find(state, i);
183
111k
                               if (find_result.is_found()) {
184
111k
                                   value_index[i] = find_result.get_mapped();
185
111k
                               } else {
186
18
                                   key_not_found[i] = true;
187
18
                               }
188
111k
                           }
189
2.04k
                       }},
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
169
2
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
2
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
2
                           using State = typename HashMethodType::State;
172
2
                           State state(key_raw_columns);
173
2
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
8
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
6
                               auto find_result = dict_method.find(state, i);
183
6
                               if (find_result.is_found()) {
184
4
                                   value_index[i] = find_result.get_mapped();
185
4
                               } else {
186
2
                                   key_not_found[i] = true;
187
2
                               }
188
6
                           }
189
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_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
169
156
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
156
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
156
                           using State = typename HashMethodType::State;
172
156
                           State state(key_raw_columns);
173
156
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
8.73k
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
8.58k
                               auto find_result = dict_method.find(state, i);
183
8.58k
                               if (find_result.is_found()) {
184
8.58k
                                   value_index[i] = find_result.get_mapped();
185
8.58k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
8.58k
                           }
189
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_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
169
312
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
312
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
312
                           using State = typename HashMethodType::State;
172
312
                           State state(key_raw_columns);
173
312
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
17.4k
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
17.1k
                               auto find_result = dict_method.find(state, i);
183
17.1k
                               if (find_result.is_found()) {
184
17.1k
                                   value_index[i] = find_result.get_mapped();
185
17.1k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
17.1k
                           }
189
312
                       }},
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
169
156
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
156
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
156
                           using State = typename HashMethodType::State;
172
156
                           State state(key_raw_columns);
173
156
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
8.73k
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
8.58k
                               auto find_result = dict_method.find(state, i);
183
8.58k
                               if (find_result.is_found()) {
184
8.58k
                                   value_index[i] = find_result.get_mapped();
185
8.58k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
8.58k
                           }
189
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_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
169
626
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
626
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
626
                           using State = typename HashMethodType::State;
172
626
                           State state(key_raw_columns);
173
626
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
34.9k
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
34.3k
                               auto find_result = dict_method.find(state, i);
183
34.3k
                               if (find_result.is_found()) {
184
34.3k
                                   value_index[i] = find_result.get_mapped();
185
34.3k
                               } else {
186
2
                                   key_not_found[i] = true;
187
2
                               }
188
34.3k
                           }
189
626
                       }},
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
169
2
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
2
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
2
                           using State = typename HashMethodType::State;
172
2
                           State state(key_raw_columns);
173
2
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
12
                           for (size_t i = 0; i < rows; ++i) {
175
8
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
8
                                   if (has_null_key(i)) {
178
2
                                       key_not_found[i] = true;
179
2
                                       continue;
180
2
                                   }
181
8
                               }
182
6
                               auto find_result = dict_method.find(state, i);
183
8
                               if (find_result.is_found()) {
184
4
                                   value_index[i] = find_result.get_mapped();
185
4
                               } else {
186
4
                                   key_not_found[i] = true;
187
4
                               }
188
8
                           }
189
2
                       }},
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
169
468
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
468
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
468
                           using State = typename HashMethodType::State;
172
468
                           State state(key_raw_columns);
173
468
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
26.2k
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
25.7k
                               auto find_result = dict_method.find(state, i);
183
25.7k
                               if (find_result.is_found()) {
184
25.7k
                                   value_index[i] = find_result.get_mapped();
185
25.7k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
25.7k
                           }
189
468
                       }},
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
169
312
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
312
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
312
                           using State = typename HashMethodType::State;
172
312
                           State state(key_raw_columns);
173
312
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
17.4k
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
17.1k
                               auto find_result = dict_method.find(state, i);
183
17.1k
                               if (find_result.is_found()) {
184
17.1k
                                   value_index[i] = find_result.get_mapped();
185
17.1k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
17.1k
                           }
189
312
                       }},
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
169
2
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
2
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
2
                           using State = typename HashMethodType::State;
172
2
                           State state(key_raw_columns);
173
2
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
8
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
6
                               auto find_result = dict_method.find(state, i);
183
6
                               if (find_result.is_found()) {
184
4
                                   value_index[i] = find_result.get_mapped();
185
4
                               } else {
186
2
                                   key_not_found[i] = true;
187
2
                               }
188
6
                           }
189
2
                       }},
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
169
2
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
2
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
2
                           using State = typename HashMethodType::State;
172
2
                           State state(key_raw_columns);
173
2
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
12
                           for (size_t i = 0; i < rows; ++i) {
175
8
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
8
                                   if (has_null_key(i)) {
178
2
                                       key_not_found[i] = true;
179
2
                                       continue;
180
2
                                   }
181
8
                               }
182
6
                               auto find_result = dict_method.find(state, i);
183
8
                               if (find_result.is_found()) {
184
4
                                   value_index[i] = find_result.get_mapped();
185
4
                               } else {
186
4
                                   key_not_found[i] = true;
187
4
                               }
188
8
                           }
189
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_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
169
4
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
4
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
4
                           using State = typename HashMethodType::State;
172
4
                           State state(key_raw_columns);
173
4
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
22
                           for (size_t i = 0; i < rows; ++i) {
175
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
                                   if (has_null_key(i)) {
178
                                       key_not_found[i] = true;
179
                                       continue;
180
                                   }
181
                               }
182
18
                               auto find_result = dict_method.find(state, i);
183
18
                               if (find_result.is_found()) {
184
14
                                   value_index[i] = find_result.get_mapped();
185
14
                               } else {
186
4
                                   key_not_found[i] = true;
187
4
                               }
188
18
                           }
189
4
                       }},
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_
190
2.04k
               find_hash_map.method_variant, make_bool_variant(key_hash_nullable));
191
192
2.04k
    ColumnPtrs columns;
193
4.09k
    for (size_t i = 0; i < attribute_names.size(); ++i) {
194
2.05k
        columns.push_back(get_single_value_column(value_index, key_not_found, attribute_names[i],
195
2.05k
                                                  attribute_types[i]));
196
2.05k
    }
197
2.04k
    return columns;
198
2.04k
}
199
200
ColumnPtr ComplexHashMapDictionary::get_single_value_column(
201
        const IColumn::Selector& value_index, const NullMap& key_not_found,
202
2.05k
        const std::string& attribute_name, const DataTypePtr& attribute_type) const {
203
2.05k
    const auto rows = value_index.size();
204
2.05k
    MutableColumnPtr res_column = attribute_type->create_column();
205
2.05k
    ColumnUInt8::MutablePtr res_null = ColumnUInt8::create(rows, false);
206
2.05k
    auto& res_null_map = res_null->get_data();
207
2.05k
    const auto& value_data = _values_data[attribute_index(attribute_name)];
208
2.05k
    std::visit(
209
2.05k
            [&](auto&& arg, auto value_is_nullable) {
210
2.05k
                using ValueDataType = std::decay_t<decltype(arg)>;
211
2.05k
                using OutputColumnType = ValueDataType::OutputColumnType;
212
2.05k
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
2.05k
                const auto* value_column = arg.get();
214
2.05k
                const auto* value_null_map = arg.get_null_map();
215
113k
                for (size_t i = 0; i < rows; i++) {
216
111k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
34
                        res_real_column->insert_default();
219
34
                        res_null_map[i] = true;
220
111k
                    } else {
221
111k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
111k
                                                          value_column, value_null_map,
223
111k
                                                          value_index[i]);
224
111k
                    }
225
111k
                }
226
2.05k
            },
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
164
            [&](auto&& arg, auto value_is_nullable) {
210
164
                using ValueDataType = std::decay_t<decltype(arg)>;
211
164
                using OutputColumnType = ValueDataType::OutputColumnType;
212
164
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
164
                const auto* value_column = arg.get();
214
164
                const auto* value_null_map = arg.get_null_map();
215
8.77k
                for (size_t i = 0; i < rows; i++) {
216
8.61k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
10
                        res_real_column->insert_default();
219
10
                        res_null_map[i] = true;
220
8.60k
                    } else {
221
8.60k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.60k
                                                          value_column, value_null_map,
223
8.60k
                                                          value_index[i]);
224
8.60k
                    }
225
8.61k
                }
226
164
            },
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
Line
Count
Source
209
8
            [&](auto&& arg, auto value_is_nullable) {
210
8
                using ValueDataType = std::decay_t<decltype(arg)>;
211
8
                using OutputColumnType = ValueDataType::OutputColumnType;
212
8
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
8
                const auto* value_column = arg.get();
214
8
                const auto* value_null_map = arg.get_null_map();
215
42
                for (size_t i = 0; i < rows; i++) {
216
34
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
12
                        res_real_column->insert_default();
219
12
                        res_null_map[i] = true;
220
22
                    } else {
221
22
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
22
                                                          value_column, value_null_map,
223
22
                                                          value_index[i]);
224
22
                    }
225
34
                }
226
8
            },
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
160
            [&](auto&& arg, auto value_is_nullable) {
210
160
                using ValueDataType = std::decay_t<decltype(arg)>;
211
160
                using OutputColumnType = ValueDataType::OutputColumnType;
212
160
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
160
                const auto* value_column = arg.get();
214
160
                const auto* value_null_map = arg.get_null_map();
215
8.75k
                for (size_t i = 0; i < rows; i++) {
216
8.59k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
4
                        res_real_column->insert_default();
219
4
                        res_null_map[i] = true;
220
8.59k
                    } else {
221
8.59k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.59k
                                                          value_column, value_null_map,
223
8.59k
                                                          value_index[i]);
224
8.59k
                    }
225
8.59k
                }
226
160
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE6EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE7EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
158
            [&](auto&& arg, auto value_is_nullable) {
210
158
                using ValueDataType = std::decay_t<decltype(arg)>;
211
158
                using OutputColumnType = ValueDataType::OutputColumnType;
212
158
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
158
                const auto* value_column = arg.get();
214
158
                const auto* value_null_map = arg.get_null_map();
215
8.74k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
2
                        res_real_column->insert_default();
219
2
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
158
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv4EEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv4EEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv6EEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_12DataTypeIPv6EEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeStringEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
110
            [&](auto&& arg, auto value_is_nullable) {
210
110
                using ValueDataType = std::decay_t<decltype(arg)>;
211
110
                using OutputColumnType = ValueDataType::OutputColumnType;
212
110
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
110
                const auto* value_column = arg.get();
214
110
                const auto* value_null_map = arg.get_null_map();
215
5.85k
                for (size_t i = 0; i < rows; i++) {
216
5.74k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
6
                        res_real_column->insert_default();
219
6
                        res_null_map[i] = true;
220
5.73k
                    } else {
221
5.73k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
5.73k
                                                          value_column, value_null_map,
223
5.73k
                                                          value_index[i]);
224
5.73k
                    }
225
5.74k
                }
226
110
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeStringEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINSR_20DictDataTypeString64EEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
52
            [&](auto&& arg, auto value_is_nullable) {
210
52
                using ValueDataType = std::decay_t<decltype(arg)>;
211
52
                using OutputColumnType = ValueDataType::OutputColumnType;
212
52
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
52
                const auto* value_column = arg.get();
214
52
                const auto* value_null_map = arg.get_null_map();
215
2.91k
                for (size_t i = 0; i < rows; i++) {
216
2.86k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
2.86k
                    } else {
221
2.86k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
2.86k
                                                          value_column, value_null_map,
223
2.86k
                                                          value_index[i]);
224
2.86k
                    }
225
2.86k
                }
226
52
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINSR_20DictDataTypeString64EEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeDateV2EEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_14DataTypeDateV2EEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_18DataTypeDateTimeV2EEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
209
156
            [&](auto&& arg, auto value_is_nullable) {
210
156
                using ValueDataType = std::decay_t<decltype(arg)>;
211
156
                using OutputColumnType = ValueDataType::OutputColumnType;
212
156
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
156
                const auto* value_column = arg.get();
214
156
                const auto* value_null_map = arg.get_null_map();
215
8.73k
                for (size_t i = 0; i < rows; i++) {
216
8.58k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
0
                        res_real_column->insert_default();
219
0
                        res_null_map[i] = true;
220
8.58k
                    } else {
221
8.58k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
8.58k
                                                          value_column, value_null_map,
223
8.58k
                                                          value_index[i]);
224
8.58k
                    }
225
8.58k
                }
226
156
            },
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary23get_single_value_columnERKNS_8PODArrayIjLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_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_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS1_IhLm4096ES4_Lm16ELm15EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10shared_ptrIKNS_9IDataTypeEEENK3$_0clIRKNS_11IDictionary14ColumnWithTypeINS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEEEESt17integral_constantIbLb1EEEEDaOT_T0_
227
2.05k
            value_data, attribute_nullable_variant(attribute_index(attribute_name)));
228
229
2.05k
    return ColumnNullable::create(std::move(res_column), std::move(res_null));
230
2.05k
}
231
} // namespace doris