Coverage Report

Created: 2026-04-11 00:05

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
688
ComplexHashMapDictionary::~ComplexHashMapDictionary() {
30
688
    if (_mem_tracker) {
31
5
        SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(_mem_tracker);
32
5
        _hash_map_method.method_variant.emplace<std::monostate>();
33
5
        ColumnPtrs {}.swap(_key_columns);
34
5
    }
35
688
}
36
37
7
size_t ComplexHashMapDictionary::allocated_bytes() const {
38
7
    size_t bytes = 0;
39
7
    std::visit(Overload {[&](const std::monostate& arg) { bytes = 0; },
40
7
                         [&](const auto& dict_method) {
41
7
                             bytes = dict_method.hash_table->get_buffer_size_in_bytes();
42
7
                         }},
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaRKT_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaRKT_
Line
Count
Source
40
7
                         [&](const auto& dict_method) {
41
7
                             bytes = dict_method.hash_table->get_buffer_size_in_bytes();
42
7
                         }},
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_j9HashCRC32IS6_EEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_j9HashCRC32IS6_EEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32IS5_EEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32IS5_EEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32IS5_EEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32IS7_EEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32IS5_EEEEEEDaRKT_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary15allocated_bytesEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32IS7_EEEEEEDaRKT_
43
7
               _hash_map_method.method_variant);
44
45
7
    for (const auto& column : _key_columns) {
46
7
        bytes += column->allocated_bytes();
47
7
    }
48
7
    return bytes + IDictionary::allocated_bytes();
49
7
}
50
void ComplexHashMapDictionary::load_data(const ColumnPtrs& key_columns, const DataTypes& key_types,
51
688
                                         const std::vector<ColumnPtr>& values_column) {
52
    // load key column
53
688
    THROW_IF_ERROR(init_hash_method<DictionaryHashMapMethod>(&_hash_map_method, key_types, true));
54
55
    // save key columns
56
688
    _key_columns = key_columns;
57
58
688
    std::visit(
59
688
            Overload {[&](std::monostate& arg) {
60
0
                          throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table");
61
0
                      },
62
688
                      [&](auto&& dict_method) {
63
688
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
688
                          using State = typename HashMethodType::State;
65
66
688
                          ColumnRawPtrs key_raw_columns;
67
692
                          for (const auto& column : key_columns) {
68
692
                              key_raw_columns.push_back(column.get());
69
692
                          }
70
688
                          State state(key_raw_columns);
71
72
688
                          auto rows = uint32_t(key_columns[0]->size());
73
688
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
688
                          size_t input_rows = 0;
75
37.8k
                          for (int i = 0; i < rows; i++) {
76
37.1k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
37.1k
                                  ctor(key, i);
78
37.1k
                                  input_rows++;
79
37.1k
                              };
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefEjEEE11ConstructorES15_S15_EEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellIS14_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES14_S14_EEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItjEE19StringHashTableHash21StringHashTableGrowerILm4EESP_E11ConstructorEtNS_9StringRefEEEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEjNS_9StringRefEEEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEmNS_9StringRefEEEDaSW_SY_S10_
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellIS16_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES16_NS_9StringRefEEEDaSW_SY_S10_
Line
Count
Source
76
2
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
2
                                  ctor(key, i);
78
2
                                  input_rows++;
79
2
                              };
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefEjEEE11ConstructorES15_S15_EEDaSW_SY_S10_
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellIS14_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES14_S14_EEDaSW_SY_S10_
Line
Count
Source
76
52
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
52
                                  ctor(key, i);
78
52
                                  input_rows++;
79
52
                              };
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItjEE19StringHashTableHash21StringHashTableGrowerILm4EESP_E11ConstructorEtNS_9StringRefEEEDaSW_SY_S10_
Line
Count
Source
76
2.80k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
2.80k
                                  ctor(key, i);
78
2.80k
                                  input_rows++;
79
2.80k
                              };
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEjNS_9StringRefEEEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImjEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorEmNS_9StringRefEEEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellIS16_jEE19StringHashTableHash21StringHashTableGrowerILm8EESP_E11ConstructorES16_NS_9StringRefEEEDaSW_SY_S10_
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyIhjEESO_NS_7EqualToIhEENS_10Allocator_ISt4pairIKhjEEEE11constructorEhhEEDaSV_SX_SZ_
Line
Count
Source
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_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyItjEESO_NS_7EqualToItEENS_10Allocator_ISt4pairIKtjEEEE11constructorEttEEDaSV_SX_SZ_
Line
Count
Source
76
2.86k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
2.86k
                                  ctor(key, i);
78
2.86k
                                  input_rows++;
79
2.86k
                              };
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyIjjEESO_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjjEEEE11constructorEjjEEDaSV_SX_SZ_
Line
Count
Source
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_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyImjEESO_NS_7EqualToImEENS_10Allocator_ISt4pairIKmjEEEE11constructorEmmEEDaSV_SX_SZ_
Line
Count
Source
76
8.58k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
8.58k
                                  ctor(key, i);
78
8.58k
                                  input_rows++;
79
8.58k
                              };
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISO_j9HashCRC32ISO_EEEEEEDaOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyISO_jEESR_NS_7EqualToISO_EENS_10Allocator_ISt4pairIKSO_jEEEE11constructorESO_SO_EEDaSY_S10_S12_
Line
Count
Source
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
                              };
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
5
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
5
                                  ctor(key, i);
78
5
                                  input_rows++;
79
5
                              };
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_
complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_
Line
Count
Source
76
7
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
7
                                  ctor(key, i);
78
7
                                  input_rows++;
79
7
                              };
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEj9HashCRC32ISP_EEEEEEDaOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyISP_jEESR_NS_7EqualToISP_EENS_10Allocator_ISt4pairIKSP_jEEEE11constructorESP_SP_EEDaSY_S10_S12_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136Ej9HashCRC32ISN_EEEEEEDaOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyISN_jEESP_NS_7EqualToISN_EENS_10Allocator_ISt4pairIKSN_jEEEE11constructorESN_SN_EEDaSW_SY_S10_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEj9HashCRC32ISP_EEEEEEDaOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyISP_jEESR_NS_7EqualToISP_EENS_10Allocator_ISt4pairIKSP_jEEEE11constructorESP_SP_EEDaSY_S10_S12_
80
81
37.1k
                              auto creator_for_null_key = [&](auto& mapped) {
82
37.1k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
37.1k
                              };
84
37.1k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
37.1k
                          }
86
688
                          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
688
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_
Line
Count
Source
62
1
                      [&](auto&& dict_method) {
63
1
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
1
                          using State = typename HashMethodType::State;
65
66
1
                          ColumnRawPtrs key_raw_columns;
67
2
                          for (const auto& column : key_columns) {
68
2
                              key_raw_columns.push_back(column.get());
69
2
                          }
70
1
                          State state(key_raw_columns);
71
72
1
                          auto rows = uint32_t(key_columns[0]->size());
73
1
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
1
                          size_t input_rows = 0;
75
3
                          for (int i = 0; i < rows; i++) {
76
2
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
2
                                  ctor(key, i);
78
2
                                  input_rows++;
79
2
                              };
80
81
2
                              auto creator_for_null_key = [&](auto& mapped) {
82
2
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
2
                              };
84
2
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
2
                          }
86
1
                          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
                      }},
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
52
                      [&](auto&& dict_method) {
63
52
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
52
                          using State = typename HashMethodType::State;
65
66
52
                          ColumnRawPtrs key_raw_columns;
67
52
                          for (const auto& column : key_columns) {
68
52
                              key_raw_columns.push_back(column.get());
69
52
                          }
70
52
                          State state(key_raw_columns);
71
72
52
                          auto rows = uint32_t(key_columns[0]->size());
73
52
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
52
                          size_t input_rows = 0;
75
2.91k
                          for (int i = 0; i < rows; i++) {
76
2.86k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
2.86k
                                  ctor(key, i);
78
2.86k
                                  input_rows++;
79
2.86k
                              };
80
81
2.86k
                              auto creator_for_null_key = [&](auto& mapped) {
82
2.86k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
2.86k
                              };
84
2.86k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
2.86k
                          }
86
52
                          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
52
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_
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_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_
Line
Count
Source
62
52
                      [&](auto&& dict_method) {
63
52
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
52
                          using State = typename HashMethodType::State;
65
66
52
                          ColumnRawPtrs key_raw_columns;
67
52
                          for (const auto& column : key_columns) {
68
52
                              key_raw_columns.push_back(column.get());
69
52
                          }
70
52
                          State state(key_raw_columns);
71
72
52
                          auto rows = uint32_t(key_columns[0]->size());
73
52
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
52
                          size_t input_rows = 0;
75
2.91k
                          for (int i = 0; i < rows; i++) {
76
2.86k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
2.86k
                                  ctor(key, i);
78
2.86k
                                  input_rows++;
79
2.86k
                              };
80
81
2.86k
                              auto creator_for_null_key = [&](auto& mapped) {
82
2.86k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
2.86k
                              };
84
2.86k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
2.86k
                          }
86
52
                          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
52
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_
Line
Count
Source
62
216
                      [&](auto&& dict_method) {
63
216
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
216
                          using State = typename HashMethodType::State;
65
66
216
                          ColumnRawPtrs key_raw_columns;
67
216
                          for (const auto& column : key_columns) {
68
216
                              key_raw_columns.push_back(column.get());
69
216
                          }
70
216
                          State state(key_raw_columns);
71
72
216
                          auto rows = uint32_t(key_columns[0]->size());
73
216
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
216
                          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
216
                          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
216
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_
Line
Count
Source
62
156
                      [&](auto&& dict_method) {
63
156
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
156
                          using State = typename HashMethodType::State;
65
66
156
                          ColumnRawPtrs key_raw_columns;
67
156
                          for (const auto& column : key_columns) {
68
156
                              key_raw_columns.push_back(column.get());
69
156
                          }
70
156
                          State state(key_raw_columns);
71
72
156
                          auto rows = uint32_t(key_columns[0]->size());
73
156
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
156
                          size_t input_rows = 0;
75
8.73k
                          for (int i = 0; i < rows; i++) {
76
8.58k
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
8.58k
                                  ctor(key, i);
78
8.58k
                                  input_rows++;
79
8.58k
                              };
80
81
8.58k
                              auto creator_for_null_key = [&](auto& mapped) {
82
8.58k
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
8.58k
                              };
84
8.58k
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
8.58k
                          }
86
156
                          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
156
                      }},
complex_hash_map_dictionary.cpp:_ZZN5doris24ComplexHashMapDictionary9load_dataERKSt6vectorINS_3COWINS_7IColumnEE13immutable_ptrIS3_EESaIS6_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISE_EESA_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISO_j9HashCRC32ISO_EEEEEEDaOT_
Line
Count
Source
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
                      }},
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
1
                      [&](auto&& dict_method) {
63
1
                          using HashMethodType = std::decay_t<decltype(dict_method)>;
64
1
                          using State = typename HashMethodType::State;
65
66
1
                          ColumnRawPtrs key_raw_columns;
67
2
                          for (const auto& column : key_columns) {
68
2
                              key_raw_columns.push_back(column.get());
69
2
                          }
70
1
                          State state(key_raw_columns);
71
72
1
                          auto rows = uint32_t(key_columns[0]->size());
73
1
                          dict_method.init_serialized_keys(key_raw_columns, rows);
74
1
                          size_t input_rows = 0;
75
6
                          for (int i = 0; i < rows; i++) {
76
5
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
5
                                  ctor(key, i);
78
5
                                  input_rows++;
79
5
                              };
80
81
5
                              auto creator_for_null_key = [&](auto& mapped) {
82
5
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
5
                              };
84
5
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
5
                          }
86
1
                          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
                      }},
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
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
9
                          for (int i = 0; i < rows; i++) {
76
7
                              auto creator = [&](const auto& ctor, auto& key, auto& origin) {
77
7
                                  ctor(key, i);
78
7
                                  input_rows++;
79
7
                              };
80
81
7
                              auto creator_for_null_key = [&](auto& mapped) {
82
7
                                  throw doris::Exception(ErrorCode::INTERNAL_ERROR, "no null key");
83
7
                              };
84
7
                              dict_method.lazy_emplace(state, i, creator, creator_for_null_key);
85
7
                          }
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_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
688
            _hash_map_method.method_variant);
94
95
    // load value column
96
688
    load_values(values_column);
97
688
}
98
99
void ComplexHashMapDictionary::init_find_hash_map(DictionaryHashMapMethod& find_hash_map_method,
100
1.02k
                                                  const DataTypes& key_types) const {
101
1.02k
    THROW_IF_ERROR(
102
1.02k
            init_hash_method<DictionaryHashMapMethod>(&find_hash_map_method, key_types, true));
103
104
1.02k
    std::visit(Overload {[&](const std::monostate& arg) {
105
0
                             throw doris::Exception(ErrorCode::INTERNAL_ERROR,
106
0
                                                    "uninited hash table");
107
0
                         },
108
1.02k
                         [&](auto&& dict_method) {
109
1.02k
                             using HashMethodType =
110
1.02k
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
1.02k
                             if (!std::holds_alternative<HashMethodType>(
112
1.02k
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
1.02k
                             auto& find_hash_map =
117
1.02k
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
1.02k
                             find_hash_map.hash_table = dict_method.hash_table;
119
1.02k
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_
Line
Count
Source
108
1
                         [&](auto&& dict_method) {
109
1
                             using HashMethodType =
110
1
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
1
                             if (!std::holds_alternative<HashMethodType>(
112
1
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
1
                             auto& find_hash_map =
117
1
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
1
                             find_hash_map.hash_table = dict_method.hash_table;
119
1
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaOT_
Line
Count
Source
108
78
                         [&](auto&& dict_method) {
109
78
                             using HashMethodType =
110
78
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
78
                             if (!std::holds_alternative<HashMethodType>(
112
78
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
78
                             auto& find_hash_map =
117
78
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
78
                             find_hash_map.hash_table = dict_method.hash_table;
119
78
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEEEEDaOT_
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_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEEEEDaOT_
Line
Count
Source
108
78
                         [&](auto&& dict_method) {
109
78
                             using HashMethodType =
110
78
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
78
                             if (!std::holds_alternative<HashMethodType>(
112
78
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
78
                             auto& find_hash_map =
117
78
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
78
                             find_hash_map.hash_table = dict_method.hash_table;
119
78
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEEEEDaOT_
Line
Count
Source
108
314
                         [&](auto&& dict_method) {
109
314
                             using HashMethodType =
110
314
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
314
                             if (!std::holds_alternative<HashMethodType>(
112
314
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
314
                             auto& find_hash_map =
117
314
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
314
                             find_hash_map.hash_table = dict_method.hash_table;
119
314
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEEEEDaOT_
Line
Count
Source
108
234
                         [&](auto&& dict_method) {
109
234
                             using HashMethodType =
110
234
                                     std::remove_cvref_t<std::decay_t<decltype(dict_method)>>;
111
234
                             if (!std::holds_alternative<HashMethodType>(
112
234
                                         find_hash_map_method.method_variant)) {
113
0
                                 throw doris::Exception(ErrorCode::INTERNAL_ERROR,
114
0
                                                        "key column not match");
115
0
                             }
116
234
                             auto& find_hash_map =
117
234
                                     std::get<HashMethodType>(find_hash_map_method.method_variant);
118
234
                             find_hash_map.hash_table = dict_method.hash_table;
119
234
                         }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary18init_find_hash_mapERNS_23DictionaryHashMapMethodERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EEENK3$_1clIRKNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISH_j9HashCRC32ISH_EEEEEEDaOT_
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
                         }},
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
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
                         }},
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
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
                         }},
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
1.02k
               _hash_map_method.method_variant);
121
1.02k
}
122
123
ColumnPtrs ComplexHashMapDictionary::get_tuple_columns(
124
        const std::vector<std::string>& attribute_names, const DataTypes& attribute_types,
125
1.02k
        const ColumnPtrs& key_columns, const DataTypes& key_types) const {
126
1.02k
    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
1.02k
    auto rows = uint32_t(key_columns[0]->size());
134
1.02k
    IColumn::Selector value_index = IColumn::Selector(rows);
135
    // if key is not found, or key is null , wiil set true
136
1.02k
    NullMap key_not_found = NullMap(rows, false);
137
138
1.02k
    DictionaryHashMapMethod find_hash_map;
139
    // In init_find_hash_map, hashtable will be shared, similar to shared_hashtable in join
140
1.02k
    init_find_hash_map(find_hash_map, key_types);
141
142
1.02k
    bool key_hash_nullable = false;
143
144
1.02k
    ColumnRawPtrs key_raw_columns;
145
146
1.02k
    std::vector<const ColumnNullable*> nullable_key_raw_columns;
147
1.02k
    for (const auto& column : key_columns) {
148
1.02k
        key_raw_columns.push_back(remove_nullable(column).get());
149
1.02k
        if (column->is_nullable()) {
150
2
            key_hash_nullable = true;
151
2
            nullable_key_raw_columns.push_back(assert_cast<const ColumnNullable*>(column.get()));
152
2
        }
153
1.02k
    }
154
155
1.02k
    auto has_null_key = [&](size_t i) {
156
8
        for (const auto* nullable_column : nullable_key_raw_columns) {
157
8
            if (nullable_column->is_null_at(i)) {
158
2
                return true;
159
2
            }
160
8
        }
161
6
        return false;
162
8
    };
163
164
1.02k
    std::visit(Overload {
165
166
1.02k
                       [&](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
1.02k
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
1.02k
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
1.02k
                           using State = typename HashMethodType::State;
172
1.02k
                           State state(key_raw_columns);
173
1.02k
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
56.8k
                           for (size_t i = 0; i < rows; ++i) {
175
55.7k
                               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
55.7k
                               if (find_result.is_found()) {
184
55.7k
                                   value_index[i] = find_result.get_mapped();
185
55.7k
                               } else {
186
9
                                   key_not_found[i] = true;
187
9
                               }
188
55.7k
                           }
189
1.02k
                       }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
169
1
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
1
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
1
                           using State = typename HashMethodType::State;
172
1
                           State state(key_raw_columns);
173
1
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
4
                           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
3
                               auto find_result = dict_method.find(state, i);
183
3
                               if (find_result.is_found()) {
184
2
                                   value_index[i] = find_result.get_mapped();
185
2
                               } else {
186
1
                                   key_not_found[i] = true;
187
1
                               }
188
3
                           }
189
1
                       }},
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_16MethodSerializedINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
169
78
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
78
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
78
                           using State = typename HashMethodType::State;
172
78
                           State state(key_raw_columns);
173
78
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
4.36k
                           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
4.29k
                               auto find_result = dict_method.find(state, i);
183
4.29k
                               if (find_result.is_found()) {
184
4.29k
                                   value_index[i] = find_result.get_mapped();
185
4.29k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
4.29k
                           }
189
78
                       }},
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIjNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhj9HashCRC32IhEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
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_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
78
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
78
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
78
                           using State = typename HashMethodType::State;
172
78
                           State state(key_raw_columns);
173
78
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
4.36k
                           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
4.29k
                               auto find_result = dict_method.find(state, i);
183
4.29k
                               if (find_result.is_found()) {
184
4.29k
                                   value_index[i] = find_result.get_mapped();
185
4.29k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
4.29k
                           }
189
78
                       }},
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItj9HashCRC32ItEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
169
313
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
313
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
313
                           using State = typename HashMethodType::State;
172
313
                           State state(key_raw_columns);
173
313
                           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
1
                                   key_not_found[i] = true;
187
1
                               }
188
17.1k
                           }
189
313
                       }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjj9HashCRC32IjEEEESt17integral_constantIbLb1EEEEDaOT_T0_
Line
Count
Source
169
1
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
1
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
1
                           using State = typename HashMethodType::State;
172
1
                           State state(key_raw_columns);
173
1
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
6
                           for (size_t i = 0; i < rows; ++i) {
175
4
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
4
                                   if (has_null_key(i)) {
178
1
                                       key_not_found[i] = true;
179
1
                                       continue;
180
1
                                   }
181
4
                               }
182
3
                               auto find_result = dict_method.find(state, i);
183
4
                               if (find_result.is_found()) {
184
2
                                   value_index[i] = find_result.get_mapped();
185
2
                               } else {
186
2
                                   key_not_found[i] = true;
187
2
                               }
188
4
                           }
189
1
                       }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
169
234
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
234
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
234
                           using State = typename HashMethodType::State;
172
234
                           State state(key_raw_columns);
173
234
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
13.1k
                           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
12.8k
                               auto find_result = dict_method.find(state, i);
183
12.8k
                               if (find_result.is_found()) {
184
12.8k
                                   value_index[i] = find_result.get_mapped();
185
12.8k
                               } else {
186
0
                                   key_not_found[i] = true;
187
0
                               }
188
12.8k
                           }
189
234
                       }},
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImj9HashCRC32ImEEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISY_j9HashCRC32ISY_EEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
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_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
1
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
1
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
1
                           using State = typename HashMethodType::State;
172
1
                           State state(key_raw_columns);
173
1
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
4
                           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
3
                               auto find_result = dict_method.find(state, i);
183
3
                               if (find_result.is_found()) {
184
2
                                   value_index[i] = find_result.get_mapped();
185
2
                               } else {
186
1
                                   key_not_found[i] = true;
187
1
                               }
188
3
                           }
189
1
                       }},
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImj9HashCRC32ImEEEESt17integral_constantIbLb1EEEEDaOT_T0_
Line
Count
Source
169
1
                       [&](auto&& dict_method, auto key_hash_nullable) {
170
1
                           using HashMethodType = std::decay_t<decltype(dict_method)>;
171
1
                           using State = typename HashMethodType::State;
172
1
                           State state(key_raw_columns);
173
1
                           dict_method.init_serialized_keys(key_raw_columns, rows);
174
6
                           for (size_t i = 0; i < rows; ++i) {
175
4
                               if constexpr (key_hash_nullable) {
176
                                   // if any key is null, we will not find it in the hash table
177
4
                                   if (has_null_key(i)) {
178
1
                                       key_not_found[i] = true;
179
1
                                       continue;
180
1
                                   }
181
4
                               }
182
3
                               auto find_result = dict_method.find(state, i);
183
4
                               if (find_result.is_found()) {
184
2
                                   value_index[i] = find_result.get_mapped();
185
2
                               } else {
186
2
                                   key_not_found[i] = true;
187
2
                               }
188
4
                           }
189
1
                       }},
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISX_EEEESt17integral_constantIbLb0EEEEDaOT_T0_
Unexecuted instantiation: complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72Ej9HashCRC32ISX_EEEESt17integral_constantIbLb1EEEEDaOT_T0_
complex_hash_map_dictionary.cpp:_ZZNK5doris24ComplexHashMapDictionary17get_tuple_columnsERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS1_ISt10shared_ptrIKNS_9IDataTypeEESaISF_EERKS1_INS_3COWINS_7IColumnEE13immutable_ptrISL_EESaISO_EESJ_ENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96Ej9HashCRC32ISX_EEEESt17integral_constantIbLb0EEEEDaOT_T0_
Line
Count
Source
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
11
                           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
9
                               auto find_result = dict_method.find(state, i);
183
9
                               if (find_result.is_found()) {
184
7
                                   value_index[i] = find_result.get_mapped();
185
7
                               } else {
186
2
                                   key_not_found[i] = true;
187
2
                               }
188
9
                           }
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_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
1.02k
               find_hash_map.method_variant, make_bool_variant(key_hash_nullable));
191
192
1.02k
    ColumnPtrs columns;
193
2.04k
    for (size_t i = 0; i < attribute_names.size(); ++i) {
194
1.02k
        columns.push_back(get_single_value_column(value_index, key_not_found, attribute_names[i],
195
1.02k
                                                  attribute_types[i]));
196
1.02k
    }
197
1.02k
    return columns;
198
1.02k
}
199
200
ColumnPtr ComplexHashMapDictionary::get_single_value_column(
201
        const IColumn::Selector& value_index, const NullMap& key_not_found,
202
1.02k
        const std::string& attribute_name, const DataTypePtr& attribute_type) const {
203
1.02k
    const auto rows = value_index.size();
204
1.02k
    MutableColumnPtr res_column = attribute_type->create_column();
205
1.02k
    ColumnUInt8::MutablePtr res_null = ColumnUInt8::create(rows, false);
206
1.02k
    auto& res_null_map = res_null->get_data();
207
1.02k
    const auto& value_data = _values_data[attribute_index(attribute_name)];
208
1.02k
    std::visit(
209
1.02k
            [&](auto&& arg, auto value_is_nullable) {
210
1.02k
                using ValueDataType = std::decay_t<decltype(arg)>;
211
1.02k
                using OutputColumnType = ValueDataType::OutputColumnType;
212
1.02k
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
1.02k
                const auto* value_column = arg.get();
214
1.02k
                const auto* value_null_map = arg.get_null_map();
215
56.8k
                for (size_t i = 0; i < rows; i++) {
216
55.8k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
17
                        res_real_column->insert_default();
219
17
                        res_null_map[i] = true;
220
55.8k
                    } else {
221
55.8k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
55.8k
                                                          value_column, value_null_map,
223
55.8k
                                                          value_index[i]);
224
55.8k
                    }
225
55.8k
                }
226
1.02k
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
82
            [&](auto&& arg, auto value_is_nullable) {
210
82
                using ValueDataType = std::decay_t<decltype(arg)>;
211
82
                using OutputColumnType = ValueDataType::OutputColumnType;
212
82
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
82
                const auto* value_column = arg.get();
214
82
                const auto* value_null_map = arg.get_null_map();
215
4.38k
                for (size_t i = 0; i < rows; i++) {
216
4.30k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
5
                        res_real_column->insert_default();
219
5
                        res_null_map[i] = true;
220
4.30k
                    } else {
221
4.30k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.30k
                                                          value_column, value_null_map,
223
4.30k
                                                          value_index[i]);
224
4.30k
                    }
225
4.30k
                }
226
82
            },
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
4
            [&](auto&& arg, auto value_is_nullable) {
210
4
                using ValueDataType = std::decay_t<decltype(arg)>;
211
4
                using OutputColumnType = ValueDataType::OutputColumnType;
212
4
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
4
                const auto* value_column = arg.get();
214
4
                const auto* value_null_map = arg.get_null_map();
215
21
                for (size_t i = 0; i < rows; i++) {
216
17
                    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
11
                    } else {
221
11
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
11
                                                          value_column, value_null_map,
223
11
                                                          value_index[i]);
224
11
                    }
225
17
                }
226
4
            },
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
80
            [&](auto&& arg, auto value_is_nullable) {
210
80
                using ValueDataType = std::decay_t<decltype(arg)>;
211
80
                using OutputColumnType = ValueDataType::OutputColumnType;
212
80
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
80
                const auto* value_column = arg.get();
214
80
                const auto* value_null_map = arg.get_null_map();
215
4.37k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
80
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
79
            [&](auto&& arg, auto value_is_nullable) {
210
79
                using ValueDataType = std::decay_t<decltype(arg)>;
211
79
                using OutputColumnType = ValueDataType::OutputColumnType;
212
79
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
79
                const auto* value_column = arg.get();
214
79
                const auto* value_null_map = arg.get_null_map();
215
4.37k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
1
                        res_real_column->insert_default();
219
1
                        res_null_map[i] = true;
220
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
79
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
55
            [&](auto&& arg, auto value_is_nullable) {
210
55
                using ValueDataType = std::decay_t<decltype(arg)>;
211
55
                using OutputColumnType = ValueDataType::OutputColumnType;
212
55
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
55
                const auto* value_column = arg.get();
214
55
                const auto* value_null_map = arg.get_null_map();
215
2.92k
                for (size_t i = 0; i < rows; i++) {
216
2.87k
                    if (key_not_found[i]) {
217
                        // if input key is not found, set the result column to null
218
3
                        res_real_column->insert_default();
219
3
                        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.87k
                }
226
55
            },
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
26
            [&](auto&& arg, auto value_is_nullable) {
210
26
                using ValueDataType = std::decay_t<decltype(arg)>;
211
26
                using OutputColumnType = ValueDataType::OutputColumnType;
212
26
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
26
                const auto* value_column = arg.get();
214
26
                const auto* value_null_map = arg.get_null_map();
215
1.45k
                for (size_t i = 0; i < rows; i++) {
216
1.43k
                    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
1.43k
                    } else {
221
1.43k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
1.43k
                                                          value_column, value_null_map,
223
1.43k
                                                          value_index[i]);
224
1.43k
                    }
225
1.43k
                }
226
26
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
78
            [&](auto&& arg, auto value_is_nullable) {
210
78
                using ValueDataType = std::decay_t<decltype(arg)>;
211
78
                using OutputColumnType = ValueDataType::OutputColumnType;
212
78
                auto* res_real_column = assert_cast<OutputColumnType*>(res_column.get());
213
78
                const auto* value_column = arg.get();
214
78
                const auto* value_null_map = arg.get_null_map();
215
4.36k
                for (size_t i = 0; i < rows; i++) {
216
4.29k
                    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
4.29k
                    } else {
221
4.29k
                        set_value_data<value_is_nullable>(res_real_column, res_null_map[i],
222
4.29k
                                                          value_column, value_null_map,
223
4.29k
                                                          value_index[i]);
224
4.29k
                    }
225
4.29k
                }
226
78
            },
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
1.02k
            value_data, attribute_nullable_variant(attribute_index(attribute_name)));
228
229
1.02k
    return ColumnNullable::create(std::move(res_column), std::move(res_null));
230
1.02k
}
231
} // namespace doris