Coverage Report

Created: 2026-03-14 20:54

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