be/src/exec/common/groupby_agg_context.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 "exec/common/groupby_agg_context.h" |
19 | | |
20 | | #include <gen_cpp/Metrics_types.h> |
21 | | |
22 | | #include "common/config.h" |
23 | | #include "common/exception.h" |
24 | | #include "exec/common/agg_context_utils.h" |
25 | | #include "exec/common/columns_hashing.h" |
26 | | #include "exec/common/hash_table/hash_map_context.h" |
27 | | #include "exec/common/hash_table/hash_map_util.h" |
28 | | #include "exec/common/template_helpers.hpp" |
29 | | #include "exprs/vectorized_agg_fn.h" |
30 | | #include "exprs/vexpr_context.h" |
31 | | #include "exprs/vslot_ref.h" |
32 | | #include "runtime/runtime_state.h" |
33 | | |
34 | | namespace doris { |
35 | | |
36 | | GroupByAggContext::GroupByAggContext(std::vector<AggFnEvaluator*> agg_evaluators, |
37 | | VExprContextSPtrs groupby_expr_ctxs, Sizes agg_state_offsets, |
38 | | size_t total_agg_state_size, size_t agg_state_alignment, |
39 | | bool is_first_phase) |
40 | 50 | : _hash_table_data(std::make_unique<AggregatedDataVariants>()), |
41 | 50 | _agg_evaluators(std::move(agg_evaluators)), |
42 | 50 | _groupby_expr_ctxs(std::move(groupby_expr_ctxs)), |
43 | 50 | _agg_state_offsets(std::move(agg_state_offsets)), |
44 | 50 | _total_agg_state_size(total_agg_state_size), |
45 | 50 | _agg_state_alignment(agg_state_alignment), |
46 | 50 | _is_first_phase(is_first_phase) {} |
47 | | |
48 | 50 | GroupByAggContext::~GroupByAggContext() = default; |
49 | | |
50 | | // ==================== Profile initialization ==================== |
51 | | |
52 | 43 | void GroupByAggContext::init_sink_profile(RuntimeProfile* profile) { |
53 | 43 | _hash_table_compute_timer = ADD_TIMER(profile, "HashTableComputeTime"); |
54 | 43 | _hash_table_emplace_timer = ADD_TIMER(profile, "HashTableEmplaceTime"); |
55 | 43 | _hash_table_input_counter = ADD_COUNTER(profile, "HashTableInputCount", TUnit::UNIT); |
56 | 43 | _hash_table_limit_compute_timer = ADD_TIMER(profile, "DoLimitComputeTime"); |
57 | 43 | _build_timer = ADD_TIMER(profile, "BuildTime"); |
58 | 43 | _merge_timer = ADD_TIMER(profile, "MergeTime"); |
59 | 43 | _expr_timer = ADD_TIMER(profile, "ExprTime"); |
60 | 43 | _deserialize_data_timer = ADD_TIMER(profile, "DeserializeAndMergeTime"); |
61 | 43 | _hash_table_size_counter = ADD_COUNTER(profile, "HashTableSize", TUnit::UNIT); |
62 | 43 | _hash_table_memory_usage = |
63 | 43 | ADD_COUNTER_WITH_LEVEL(profile, "MemoryUsageHashTable", TUnit::BYTES, 1); |
64 | 43 | _serialize_key_arena_memory_usage = |
65 | 43 | ADD_COUNTER_WITH_LEVEL(profile, "MemoryUsageSerializeKeyArena", TUnit::BYTES, 1); |
66 | 43 | _memory_usage_container = ADD_COUNTER(profile, "MemoryUsageContainer", TUnit::BYTES); |
67 | 43 | _memory_usage_arena = ADD_COUNTER(profile, "MemoryUsageArena", TUnit::BYTES); |
68 | 43 | _memory_used_counter = profile->get_counter("MemoryUsage"); |
69 | 43 | } |
70 | | |
71 | 13 | void GroupByAggContext::init_source_profile(RuntimeProfile* profile) { |
72 | 13 | _get_results_timer = ADD_TIMER(profile, "GetResultsTime"); |
73 | 13 | _hash_table_iterate_timer = ADD_TIMER(profile, "HashTableIterateTime"); |
74 | 13 | _insert_keys_to_column_timer = ADD_TIMER(profile, "InsertKeysToColumnTime"); |
75 | 13 | _insert_values_to_column_timer = ADD_TIMER(profile, "InsertValuesToColumnTime"); |
76 | | |
77 | | // Register overlapping counters on source profile (same names as sink, for |
78 | | // PartitionedAggLocalState::_update_profile to read from inner source profile). |
79 | 13 | _source_merge_timer = ADD_TIMER(profile, "MergeTime"); |
80 | 13 | _source_deserialize_data_timer = ADD_TIMER(profile, "DeserializeAndMergeTime"); |
81 | 13 | _source_hash_table_compute_timer = ADD_TIMER(profile, "HashTableComputeTime"); |
82 | 13 | _source_hash_table_emplace_timer = ADD_TIMER(profile, "HashTableEmplaceTime"); |
83 | 13 | _source_hash_table_input_counter = ADD_COUNTER(profile, "HashTableInputCount", TUnit::UNIT); |
84 | 13 | _source_hash_table_size_counter = ADD_COUNTER(profile, "HashTableSize", TUnit::UNIT); |
85 | 13 | _source_hash_table_memory_usage = |
86 | 13 | ADD_COUNTER_WITH_LEVEL(profile, "MemoryUsageHashTable", TUnit::BYTES, 1); |
87 | 13 | _source_memory_usage_container = ADD_COUNTER(profile, "MemoryUsageContainer", TUnit::BYTES); |
88 | 13 | _source_memory_usage_arena = ADD_COUNTER(profile, "MemoryUsageArena", TUnit::BYTES); |
89 | 13 | } |
90 | | |
91 | | // ==================== Hash table management ==================== |
92 | | |
93 | 43 | void GroupByAggContext::init_hash_method() { |
94 | 43 | auto st = doris::init_hash_method<AggregatedDataVariants>( |
95 | 43 | _hash_table_data.get(), get_data_types(_groupby_expr_ctxs), _is_first_phase); |
96 | 43 | if (!st.ok()) { |
97 | 0 | throw Exception(st.code(), st.to_string()); |
98 | 0 | } |
99 | 43 | } |
100 | | |
101 | 43 | void GroupByAggContext::init_agg_data_container() { |
102 | 43 | std::visit( |
103 | 43 | Overload {[&](std::monostate& arg) -> void { |
104 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
105 | 0 | }, |
106 | 43 | [&](auto& agg_method) { |
107 | 43 | using HashTableType = std::decay_t<decltype(agg_method)>; |
108 | 43 | using KeyType = typename HashTableType::Key; |
109 | 43 | _agg_data_container = std::make_unique<AggregateDataContainer>( |
110 | 43 | sizeof(KeyType), |
111 | 43 | ((_total_agg_state_size + _agg_state_alignment - 1) / |
112 | 43 | _agg_state_alignment) * |
113 | 43 | _agg_state_alignment); |
114 | 43 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 106 | 19 | [&](auto& agg_method) { | 107 | 19 | using HashTableType = std::decay_t<decltype(agg_method)>; | 108 | 19 | using KeyType = typename HashTableType::Key; | 109 | 19 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 110 | 19 | sizeof(KeyType), | 111 | 19 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 112 | 19 | _agg_state_alignment) * | 113 | 19 | _agg_state_alignment); | 114 | 19 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 106 | 16 | [&](auto& agg_method) { | 107 | 16 | using HashTableType = std::decay_t<decltype(agg_method)>; | 108 | 16 | using KeyType = typename HashTableType::Key; | 109 | 16 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 110 | 16 | sizeof(KeyType), | 111 | 16 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 112 | 16 | _agg_state_alignment) * | 113 | 16 | _agg_state_alignment); | 114 | 16 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Line | Count | Source | 106 | 1 | [&](auto& agg_method) { | 107 | 1 | using HashTableType = std::decay_t<decltype(agg_method)>; | 108 | 1 | using KeyType = typename HashTableType::Key; | 109 | 1 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 110 | 1 | sizeof(KeyType), | 111 | 1 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 112 | 1 | _agg_state_alignment) * | 113 | 1 | _agg_state_alignment); | 114 | 1 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 106 | 7 | [&](auto& agg_method) { | 107 | 7 | using HashTableType = std::decay_t<decltype(agg_method)>; | 108 | 7 | using KeyType = typename HashTableType::Key; | 109 | 7 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 110 | 7 | sizeof(KeyType), | 111 | 7 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 112 | 7 | _agg_state_alignment) * | 113 | 7 | _agg_state_alignment); | 114 | 7 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEDaRT_ |
115 | 43 | _hash_table_data->method_variant); |
116 | 43 | } |
117 | | |
118 | 130 | size_t GroupByAggContext::hash_table_size() const { |
119 | 130 | return std::visit(Overload {[&](std::monostate& arg) -> size_t { return 0; }, |
120 | 130 | [&](auto& agg_method) { return agg_method.hash_table->size(); }},Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 120 | 84 | [&](auto& agg_method) { return agg_method.hash_table->size(); }}, |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 120 | 22 | [&](auto& agg_method) { return agg_method.hash_table->size(); }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Line | Count | Source | 120 | 11 | [&](auto& agg_method) { return agg_method.hash_table->size(); }}, |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 120 | 13 | [&](auto& agg_method) { return agg_method.hash_table->size(); }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEDaRT_ |
121 | 130 | _hash_table_data->method_variant); |
122 | 130 | } |
123 | | |
124 | 47 | size_t GroupByAggContext::memory_usage() const { |
125 | 47 | if (hash_table_size() == 0) { |
126 | 11 | return 0; |
127 | 11 | } |
128 | 36 | size_t usage = 0; |
129 | 36 | usage += _agg_arena.size(); |
130 | | |
131 | 36 | if (_agg_data_container) { |
132 | 36 | usage += _agg_data_container->memory_usage(); |
133 | 36 | } |
134 | | |
135 | 36 | std::visit(Overload {[&](std::monostate& arg) -> void { |
136 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
137 | 0 | "uninited hash table"); |
138 | 0 | }, |
139 | 36 | [&](auto& agg_method) -> void { |
140 | 36 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); |
141 | 36 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ Line | Count | Source | 139 | 28 | [&](auto& agg_method) -> void { | 140 | 28 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 141 | 28 | }}, |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 139 | 2 | [&](auto& agg_method) -> void { | 140 | 2 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 141 | 2 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEvRT_ groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ Line | Count | Source | 139 | 4 | [&](auto& agg_method) -> void { | 140 | 4 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 141 | 4 | }}, |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Line | Count | Source | 139 | 2 | [&](auto& agg_method) -> void { | 140 | 2 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 141 | 2 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEvRT_ |
142 | 36 | _hash_table_data->method_variant); |
143 | | |
144 | 36 | return usage; |
145 | 47 | } |
146 | | |
147 | 60 | void GroupByAggContext::update_memusage() { |
148 | 60 | std::visit( |
149 | 60 | Overload {[&](std::monostate& arg) -> void { |
150 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
151 | 0 | }, |
152 | 60 | [&](auto& agg_method) -> void { |
153 | 60 | auto& data = *agg_method.hash_table; |
154 | 60 | int64_t memory_usage_arena = _agg_arena.size(); |
155 | 60 | int64_t memory_usage_container = |
156 | 60 | _agg_data_container ? _agg_data_container->memory_usage() : 0; |
157 | 60 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); |
158 | 60 | auto ht_size = static_cast<int64_t>(data.size()); |
159 | | |
160 | | // Update sink-side counters |
161 | 60 | if (_memory_usage_arena) { |
162 | 60 | COUNTER_SET(_memory_usage_arena, memory_usage_arena); |
163 | 60 | } |
164 | 60 | if (_memory_usage_container) { |
165 | 60 | COUNTER_SET(_memory_usage_container, memory_usage_container); |
166 | 60 | } |
167 | 60 | if (_hash_table_memory_usage) { |
168 | 60 | COUNTER_SET(_hash_table_memory_usage, hash_table_memory_usage); |
169 | 60 | } |
170 | 60 | if (_hash_table_size_counter) { |
171 | 60 | COUNTER_SET(_hash_table_size_counter, ht_size); |
172 | 60 | } |
173 | 60 | if (_serialize_key_arena_memory_usage) { |
174 | 60 | COUNTER_SET(_serialize_key_arena_memory_usage, |
175 | 60 | memory_usage_arena + memory_usage_container); |
176 | 60 | } |
177 | 60 | if (_memory_used_counter) { |
178 | 0 | COUNTER_SET(_memory_used_counter, memory_usage_arena + |
179 | 0 | memory_usage_container + |
180 | 0 | hash_table_memory_usage); |
181 | 0 | } |
182 | | |
183 | | // Update source-side counters (for PartitionedAgg source profile) |
184 | 60 | if (_source_memory_usage_arena) { |
185 | 8 | COUNTER_SET(_source_memory_usage_arena, memory_usage_arena); |
186 | 8 | } |
187 | 60 | if (_source_memory_usage_container) { |
188 | 8 | COUNTER_SET(_source_memory_usage_container, memory_usage_container); |
189 | 8 | } |
190 | 60 | if (_source_hash_table_memory_usage) { |
191 | 8 | COUNTER_SET(_source_hash_table_memory_usage, |
192 | 8 | hash_table_memory_usage); |
193 | 8 | } |
194 | 60 | if (_source_hash_table_size_counter) { |
195 | 8 | COUNTER_SET(_source_hash_table_size_counter, ht_size); |
196 | 8 | } |
197 | 60 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ Line | Count | Source | 152 | 25 | [&](auto& agg_method) -> void { | 153 | 25 | auto& data = *agg_method.hash_table; | 154 | 25 | int64_t memory_usage_arena = _agg_arena.size(); | 155 | 25 | int64_t memory_usage_container = | 156 | 25 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 157 | 25 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 158 | 25 | auto ht_size = static_cast<int64_t>(data.size()); | 159 | | | 160 | | // Update sink-side counters | 161 | 25 | if (_memory_usage_arena) { | 162 | 25 | COUNTER_SET(_memory_usage_arena, memory_usage_arena); | 163 | 25 | } | 164 | 25 | if (_memory_usage_container) { | 165 | 25 | COUNTER_SET(_memory_usage_container, memory_usage_container); | 166 | 25 | } | 167 | 25 | if (_hash_table_memory_usage) { | 168 | 25 | COUNTER_SET(_hash_table_memory_usage, hash_table_memory_usage); | 169 | 25 | } | 170 | 25 | if (_hash_table_size_counter) { | 171 | 25 | COUNTER_SET(_hash_table_size_counter, ht_size); | 172 | 25 | } | 173 | 25 | if (_serialize_key_arena_memory_usage) { | 174 | 25 | COUNTER_SET(_serialize_key_arena_memory_usage, | 175 | 25 | memory_usage_arena + memory_usage_container); | 176 | 25 | } | 177 | 25 | if (_memory_used_counter) { | 178 | 0 | COUNTER_SET(_memory_used_counter, memory_usage_arena + | 179 | 0 | memory_usage_container + | 180 | 0 | hash_table_memory_usage); | 181 | 0 | } | 182 | | | 183 | | // Update source-side counters (for PartitionedAgg source profile) | 184 | 25 | if (_source_memory_usage_arena) { | 185 | 0 | COUNTER_SET(_source_memory_usage_arena, memory_usage_arena); | 186 | 0 | } | 187 | 25 | if (_source_memory_usage_container) { | 188 | 0 | COUNTER_SET(_source_memory_usage_container, memory_usage_container); | 189 | 0 | } | 190 | 25 | if (_source_hash_table_memory_usage) { | 191 | 0 | COUNTER_SET(_source_hash_table_memory_usage, | 192 | 0 | hash_table_memory_usage); | 193 | 0 | } | 194 | 25 | if (_source_hash_table_size_counter) { | 195 | 0 | COUNTER_SET(_source_hash_table_size_counter, ht_size); | 196 | 0 | } | 197 | 25 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 152 | 23 | [&](auto& agg_method) -> void { | 153 | 23 | auto& data = *agg_method.hash_table; | 154 | 23 | int64_t memory_usage_arena = _agg_arena.size(); | 155 | 23 | int64_t memory_usage_container = | 156 | 23 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 157 | 23 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 158 | 23 | auto ht_size = static_cast<int64_t>(data.size()); | 159 | | | 160 | | // Update sink-side counters | 161 | 23 | if (_memory_usage_arena) { | 162 | 23 | COUNTER_SET(_memory_usage_arena, memory_usage_arena); | 163 | 23 | } | 164 | 23 | if (_memory_usage_container) { | 165 | 23 | COUNTER_SET(_memory_usage_container, memory_usage_container); | 166 | 23 | } | 167 | 23 | if (_hash_table_memory_usage) { | 168 | 23 | COUNTER_SET(_hash_table_memory_usage, hash_table_memory_usage); | 169 | 23 | } | 170 | 23 | if (_hash_table_size_counter) { | 171 | 23 | COUNTER_SET(_hash_table_size_counter, ht_size); | 172 | 23 | } | 173 | 23 | if (_serialize_key_arena_memory_usage) { | 174 | 23 | COUNTER_SET(_serialize_key_arena_memory_usage, | 175 | 23 | memory_usage_arena + memory_usage_container); | 176 | 23 | } | 177 | 23 | if (_memory_used_counter) { | 178 | 0 | COUNTER_SET(_memory_used_counter, memory_usage_arena + | 179 | 0 | memory_usage_container + | 180 | 0 | hash_table_memory_usage); | 181 | 0 | } | 182 | | | 183 | | // Update source-side counters (for PartitionedAgg source profile) | 184 | 23 | if (_source_memory_usage_arena) { | 185 | 4 | COUNTER_SET(_source_memory_usage_arena, memory_usage_arena); | 186 | 4 | } | 187 | 23 | if (_source_memory_usage_container) { | 188 | 4 | COUNTER_SET(_source_memory_usage_container, memory_usage_container); | 189 | 4 | } | 190 | 23 | if (_source_hash_table_memory_usage) { | 191 | 4 | COUNTER_SET(_source_hash_table_memory_usage, | 192 | 4 | hash_table_memory_usage); | 193 | 4 | } | 194 | 23 | if (_source_hash_table_size_counter) { | 195 | 4 | COUNTER_SET(_source_hash_table_size_counter, ht_size); | 196 | 4 | } | 197 | 23 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ Line | Count | Source | 152 | 2 | [&](auto& agg_method) -> void { | 153 | 2 | auto& data = *agg_method.hash_table; | 154 | 2 | int64_t memory_usage_arena = _agg_arena.size(); | 155 | 2 | int64_t memory_usage_container = | 156 | 2 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 157 | 2 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 158 | 2 | auto ht_size = static_cast<int64_t>(data.size()); | 159 | | | 160 | | // Update sink-side counters | 161 | 2 | if (_memory_usage_arena) { | 162 | 2 | COUNTER_SET(_memory_usage_arena, memory_usage_arena); | 163 | 2 | } | 164 | 2 | if (_memory_usage_container) { | 165 | 2 | COUNTER_SET(_memory_usage_container, memory_usage_container); | 166 | 2 | } | 167 | 2 | if (_hash_table_memory_usage) { | 168 | 2 | COUNTER_SET(_hash_table_memory_usage, hash_table_memory_usage); | 169 | 2 | } | 170 | 2 | if (_hash_table_size_counter) { | 171 | 2 | COUNTER_SET(_hash_table_size_counter, ht_size); | 172 | 2 | } | 173 | 2 | if (_serialize_key_arena_memory_usage) { | 174 | 2 | COUNTER_SET(_serialize_key_arena_memory_usage, | 175 | 2 | memory_usage_arena + memory_usage_container); | 176 | 2 | } | 177 | 2 | if (_memory_used_counter) { | 178 | 0 | COUNTER_SET(_memory_used_counter, memory_usage_arena + | 179 | 0 | memory_usage_container + | 180 | 0 | hash_table_memory_usage); | 181 | 0 | } | 182 | | | 183 | | // Update source-side counters (for PartitionedAgg source profile) | 184 | 2 | if (_source_memory_usage_arena) { | 185 | 0 | COUNTER_SET(_source_memory_usage_arena, memory_usage_arena); | 186 | 0 | } | 187 | 2 | if (_source_memory_usage_container) { | 188 | 0 | COUNTER_SET(_source_memory_usage_container, memory_usage_container); | 189 | 0 | } | 190 | 2 | if (_source_hash_table_memory_usage) { | 191 | 0 | COUNTER_SET(_source_hash_table_memory_usage, | 192 | 0 | hash_table_memory_usage); | 193 | 0 | } | 194 | 2 | if (_source_hash_table_size_counter) { | 195 | 0 | COUNTER_SET(_source_hash_table_size_counter, ht_size); | 196 | 0 | } | 197 | 2 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Line | Count | Source | 152 | 10 | [&](auto& agg_method) -> void { | 153 | 10 | auto& data = *agg_method.hash_table; | 154 | 10 | int64_t memory_usage_arena = _agg_arena.size(); | 155 | 10 | int64_t memory_usage_container = | 156 | 10 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 157 | 10 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 158 | 10 | auto ht_size = static_cast<int64_t>(data.size()); | 159 | | | 160 | | // Update sink-side counters | 161 | 10 | if (_memory_usage_arena) { | 162 | 10 | COUNTER_SET(_memory_usage_arena, memory_usage_arena); | 163 | 10 | } | 164 | 10 | if (_memory_usage_container) { | 165 | 10 | COUNTER_SET(_memory_usage_container, memory_usage_container); | 166 | 10 | } | 167 | 10 | if (_hash_table_memory_usage) { | 168 | 10 | COUNTER_SET(_hash_table_memory_usage, hash_table_memory_usage); | 169 | 10 | } | 170 | 10 | if (_hash_table_size_counter) { | 171 | 10 | COUNTER_SET(_hash_table_size_counter, ht_size); | 172 | 10 | } | 173 | 10 | if (_serialize_key_arena_memory_usage) { | 174 | 10 | COUNTER_SET(_serialize_key_arena_memory_usage, | 175 | 10 | memory_usage_arena + memory_usage_container); | 176 | 10 | } | 177 | 10 | if (_memory_used_counter) { | 178 | 0 | COUNTER_SET(_memory_used_counter, memory_usage_arena + | 179 | 0 | memory_usage_container + | 180 | 0 | hash_table_memory_usage); | 181 | 0 | } | 182 | | | 183 | | // Update source-side counters (for PartitionedAgg source profile) | 184 | 10 | if (_source_memory_usage_arena) { | 185 | 4 | COUNTER_SET(_source_memory_usage_arena, memory_usage_arena); | 186 | 4 | } | 187 | 10 | if (_source_memory_usage_container) { | 188 | 4 | COUNTER_SET(_source_memory_usage_container, memory_usage_container); | 189 | 4 | } | 190 | 10 | if (_source_hash_table_memory_usage) { | 191 | 4 | COUNTER_SET(_source_hash_table_memory_usage, | 192 | 4 | hash_table_memory_usage); | 193 | 4 | } | 194 | 10 | if (_source_hash_table_size_counter) { | 195 | 4 | COUNTER_SET(_source_hash_table_size_counter, ht_size); | 196 | 4 | } | 197 | 10 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEvRT_ |
198 | 60 | _hash_table_data->method_variant); |
199 | 60 | } |
200 | | |
201 | 4 | size_t GroupByAggContext::get_reserve_mem_size(RuntimeState* state) const { |
202 | 4 | size_t size_to_reserve = std::visit( |
203 | 4 | [&](auto&& arg) -> size_t { |
204 | 4 | using HashTableCtxType = std::decay_t<decltype(arg)>; |
205 | 4 | if constexpr (std::is_same_v<HashTableCtxType, std::monostate>) { |
206 | 0 | return 0; |
207 | 4 | } else { |
208 | 4 | return arg.hash_table->estimate_memory(state->batch_size()); |
209 | 4 | } |
210 | 4 | }, Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRSt9monostateEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS7_vEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS8_Pc9HashCRC32IS8_EEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS8_Pc9HashCRC32IS8_EEEEEEmOT_ groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEmOT_ Line | Count | Source | 203 | 4 | [&](auto&& arg) -> size_t { | 204 | 4 | using HashTableCtxType = std::decay_t<decltype(arg)>; | 205 | | if constexpr (std::is_same_v<HashTableCtxType, std::monostate>) { | 206 | | return 0; | 207 | 4 | } else { | 208 | 4 | return arg.hash_table->estimate_memory(state->batch_size()); | 209 | 4 | } | 210 | 4 | }, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS9_Pc9HashCRC32IS9_EEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS9_Pc9HashCRC32IS9_EEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS7_EEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS7_EEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS7_EEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS9_EEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS7_EEEEEEmOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext20get_reserve_mem_sizeEPNS_12RuntimeStateEENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS9_EEEEEEmOT_ |
211 | 4 | _hash_table_data->method_variant); |
212 | | |
213 | 4 | size_to_reserve += memory_usage_last_executing; |
214 | 4 | return size_to_reserve; |
215 | 4 | } |
216 | | |
217 | 54 | Status GroupByAggContext::reset_hash_table() { |
218 | 54 | return std::visit( |
219 | 54 | Overload { |
220 | 54 | [&](std::monostate& arg) -> Status { |
221 | 0 | return Status::InternalError("Uninited hash table"); |
222 | 0 | }, |
223 | 54 | [&](auto& agg_method) { |
224 | 54 | auto& hash_table = *agg_method.hash_table; |
225 | 54 | using HashTableType = std::decay_t<decltype(hash_table)>; |
226 | | |
227 | 54 | agg_method.arena.clear(); |
228 | 54 | agg_method.inited_iterator = false; |
229 | | |
230 | 1.06M | hash_table.for_each_mapped([&](auto& mapped) { |
231 | 1.06M | if (mapped) { |
232 | 1.06M | destroy_agg_state(mapped); |
233 | 1.06M | mapped = nullptr; |
234 | 1.06M | } |
235 | 1.06M | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEDaRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ENKUlSC_E_clIS5_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ENKUlSE_E_clIS8_EEDaSE_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ENKUlSE_E_clIS8_EEDaSE_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ENKUlSD_E_clIS5_EEDaSD_ Line | Count | Source | 230 | 1.06M | hash_table.for_each_mapped([&](auto& mapped) { | 231 | 1.06M | if (mapped) { | 232 | 1.06M | destroy_agg_state(mapped); | 233 | 1.06M | mapped = nullptr; | 234 | 1.06M | } | 235 | 1.06M | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ENKUlSD_E_clIS5_EEDaSD_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ENKUlSH_E_clIS7_EEDaSH_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ENKUlSH_E_clIS7_EEDaSH_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ENKUlSI_E_clISA_EEDaSI_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ENKUlSI_E_clISA_EEDaSI_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ENKUlSG_E_clIS7_EEDaSG_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEDaRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEDaRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEDaRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEDaRT_ENKUlSE_E_clIS8_EEDaSE_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEDaRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEDaRT_ENKUlSE_E_clIS8_EEDaSE_ |
236 | | |
237 | 54 | if (hash_table.has_null_key_data()) { |
238 | 2 | destroy_agg_state( |
239 | 2 | hash_table.template get_null_key_data<AggregateDataPtr>()); |
240 | 2 | } |
241 | | |
242 | 54 | _agg_data_container.reset(new AggregateDataContainer( |
243 | 54 | sizeof(typename HashTableType::key_type), |
244 | 54 | ((_total_agg_state_size + _agg_state_alignment - 1) / |
245 | 54 | _agg_state_alignment) * |
246 | 54 | _agg_state_alignment)); |
247 | 54 | agg_method.hash_table.reset(new HashTableType()); |
248 | 54 | return Status::OK(); |
249 | 54 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 223 | 52 | [&](auto& agg_method) { | 224 | 52 | auto& hash_table = *agg_method.hash_table; | 225 | 52 | using HashTableType = std::decay_t<decltype(hash_table)>; | 226 | | | 227 | 52 | agg_method.arena.clear(); | 228 | 52 | agg_method.inited_iterator = false; | 229 | | | 230 | 52 | hash_table.for_each_mapped([&](auto& mapped) { | 231 | 52 | if (mapped) { | 232 | 52 | destroy_agg_state(mapped); | 233 | 52 | mapped = nullptr; | 234 | 52 | } | 235 | 52 | }); | 236 | | | 237 | 52 | if (hash_table.has_null_key_data()) { | 238 | 0 | destroy_agg_state( | 239 | 0 | hash_table.template get_null_key_data<AggregateDataPtr>()); | 240 | 0 | } | 241 | | | 242 | 52 | _agg_data_container.reset(new AggregateDataContainer( | 243 | 52 | sizeof(typename HashTableType::key_type), | 244 | 52 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 245 | 52 | _agg_state_alignment) * | 246 | 52 | _agg_state_alignment)); | 247 | 52 | agg_method.hash_table.reset(new HashTableType()); | 248 | 52 | return Status::OK(); | 249 | 52 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Line | Count | Source | 223 | 2 | [&](auto& agg_method) { | 224 | 2 | auto& hash_table = *agg_method.hash_table; | 225 | 2 | using HashTableType = std::decay_t<decltype(hash_table)>; | 226 | | | 227 | 2 | agg_method.arena.clear(); | 228 | 2 | agg_method.inited_iterator = false; | 229 | | | 230 | 2 | hash_table.for_each_mapped([&](auto& mapped) { | 231 | 2 | if (mapped) { | 232 | 2 | destroy_agg_state(mapped); | 233 | 2 | mapped = nullptr; | 234 | 2 | } | 235 | 2 | }); | 236 | | | 237 | 2 | if (hash_table.has_null_key_data()) { | 238 | 2 | destroy_agg_state( | 239 | 2 | hash_table.template get_null_key_data<AggregateDataPtr>()); | 240 | 2 | } | 241 | | | 242 | 2 | _agg_data_container.reset(new AggregateDataContainer( | 243 | 2 | sizeof(typename HashTableType::key_type), | 244 | 2 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 245 | 2 | _agg_state_alignment) * | 246 | 2 | _agg_state_alignment)); | 247 | 2 | agg_method.hash_table.reset(new HashTableType()); | 248 | 2 | return Status::OK(); | 249 | 2 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEDaRT_ |
250 | 54 | _hash_table_data->method_variant); |
251 | 54 | } |
252 | | |
253 | | // ==================== Agg state management ==================== |
254 | | |
255 | 1.06M | Status GroupByAggContext::create_agg_state(AggregateDataPtr data) { |
256 | 2.13M | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
257 | 1.06M | try { |
258 | 1.06M | _agg_evaluators[i]->create(data + _agg_state_offsets[i]); |
259 | 1.06M | } catch (...) { |
260 | 0 | for (int j = 0; j < i; ++j) { |
261 | 0 | _agg_evaluators[j]->destroy(data + _agg_state_offsets[j]); |
262 | 0 | } |
263 | 0 | throw; |
264 | 0 | } |
265 | 1.06M | } |
266 | 1.06M | return Status::OK(); |
267 | 1.06M | } |
268 | | |
269 | 1.06M | void GroupByAggContext::destroy_agg_state(AggregateDataPtr data) { |
270 | 2.13M | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
271 | 1.06M | _agg_evaluators[i]->function()->destroy(data + _agg_state_offsets[i]); |
272 | 1.06M | } |
273 | 1.06M | } |
274 | | |
275 | 46 | void GroupByAggContext::close() { |
276 | 46 | std::visit(Overload {[&](std::monostate& arg) -> void { |
277 | | // Do nothing |
278 | 3 | }, |
279 | 46 | [&](auto& agg_method) -> void { |
280 | 43 | auto& data = *agg_method.hash_table; |
281 | 103 | data.for_each_mapped([&](auto& mapped) { |
282 | 103 | if (mapped) { |
283 | 103 | destroy_agg_state(mapped); |
284 | 103 | mapped = nullptr; |
285 | 103 | } |
286 | 103 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEvRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEvRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEvRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEvRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUlSC_E_clIS5_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ENKUlSE_E_clIS8_EEDaSE_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ENKUlSE_E_clIS8_EEDaSE_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ENKUlSD_E_clIS5_EEDaSD_ Line | Count | Source | 281 | 16 | data.for_each_mapped([&](auto& mapped) { | 282 | 16 | if (mapped) { | 283 | 16 | destroy_agg_state(mapped); | 284 | 16 | mapped = nullptr; | 285 | 16 | } | 286 | 16 | }); |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ENKUlSD_E_clIS5_EEDaSD_ Line | Count | Source | 281 | 62 | data.for_each_mapped([&](auto& mapped) { | 282 | 62 | if (mapped) { | 283 | 62 | destroy_agg_state(mapped); | 284 | 62 | mapped = nullptr; | 285 | 62 | } | 286 | 62 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEvRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEvRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEvRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEvRT_ENKUlSF_E_clIS7_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ENKUlSH_E_clIS7_EEDaSH_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ENKUlSH_E_clIS7_EEDaSH_ Line | Count | Source | 281 | 25 | data.for_each_mapped([&](auto& mapped) { | 282 | 25 | if (mapped) { | 283 | 25 | destroy_agg_state(mapped); | 284 | 25 | mapped = nullptr; | 285 | 25 | } | 286 | 25 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ENKUlSI_E_clISA_EEDaSI_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ENKUlSI_E_clISA_EEDaSI_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlSG_E_clIS7_EEDaSG_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ENKUlSB_E_clIS5_EEDaSB_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEvRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEvRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEvRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEvRT_ENKUlSE_E_clIS8_EEDaSE_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEvRT_ENKUlSC_E_clIS6_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEvRT_ENKUlSE_E_clIS8_EEDaSE_ |
287 | 43 | if (data.has_null_key_data()) { |
288 | 7 | destroy_agg_state( |
289 | 7 | data.template get_null_key_data<AggregateDataPtr>()); |
290 | 7 | } |
291 | 43 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ Line | Count | Source | 279 | 19 | [&](auto& agg_method) -> void { | 280 | 19 | auto& data = *agg_method.hash_table; | 281 | 19 | data.for_each_mapped([&](auto& mapped) { | 282 | 19 | if (mapped) { | 283 | 19 | destroy_agg_state(mapped); | 284 | 19 | mapped = nullptr; | 285 | 19 | } | 286 | 19 | }); | 287 | 19 | if (data.has_null_key_data()) { | 288 | 0 | destroy_agg_state( | 289 | 0 | data.template get_null_key_data<AggregateDataPtr>()); | 290 | 0 | } | 291 | 19 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 279 | 16 | [&](auto& agg_method) -> void { | 280 | 16 | auto& data = *agg_method.hash_table; | 281 | 16 | data.for_each_mapped([&](auto& mapped) { | 282 | 16 | if (mapped) { | 283 | 16 | destroy_agg_state(mapped); | 284 | 16 | mapped = nullptr; | 285 | 16 | } | 286 | 16 | }); | 287 | 16 | if (data.has_null_key_data()) { | 288 | 0 | destroy_agg_state( | 289 | 0 | data.template get_null_key_data<AggregateDataPtr>()); | 290 | 0 | } | 291 | 16 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ Line | Count | Source | 279 | 1 | [&](auto& agg_method) -> void { | 280 | 1 | auto& data = *agg_method.hash_table; | 281 | 1 | data.for_each_mapped([&](auto& mapped) { | 282 | 1 | if (mapped) { | 283 | 1 | destroy_agg_state(mapped); | 284 | 1 | mapped = nullptr; | 285 | 1 | } | 286 | 1 | }); | 287 | 1 | if (data.has_null_key_data()) { | 288 | 0 | destroy_agg_state( | 289 | 0 | data.template get_null_key_data<AggregateDataPtr>()); | 290 | 0 | } | 291 | 1 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Line | Count | Source | 279 | 7 | [&](auto& agg_method) -> void { | 280 | 7 | auto& data = *agg_method.hash_table; | 281 | 7 | data.for_each_mapped([&](auto& mapped) { | 282 | 7 | if (mapped) { | 283 | 7 | destroy_agg_state(mapped); | 284 | 7 | mapped = nullptr; | 285 | 7 | } | 286 | 7 | }); | 287 | 7 | if (data.has_null_key_data()) { | 288 | 7 | destroy_agg_state( | 289 | 7 | data.template get_null_key_data<AggregateDataPtr>()); | 290 | 7 | } | 291 | 7 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEvRT_ |
292 | 46 | _hash_table_data->method_variant); |
293 | 46 | } |
294 | | |
295 | | // ==================== Hash table write operations ==================== |
296 | | |
297 | | void GroupByAggContext::emplace_into_hash_table(AggregateDataPtr* places, |
298 | | ColumnRawPtrs& key_columns, uint32_t num_rows, |
299 | | RuntimeProfile::Counter* hash_table_compute_timer, |
300 | | RuntimeProfile::Counter* hash_table_emplace_timer, |
301 | 76 | RuntimeProfile::Counter* hash_table_input_counter) { |
302 | 76 | std::visit(Overload {[&](std::monostate& arg) -> void { |
303 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
304 | 0 | "uninited hash table"); |
305 | 0 | }, |
306 | 76 | [&](auto& agg_method) -> void { |
307 | 76 | SCOPED_TIMER(hash_table_compute_timer); |
308 | 76 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
309 | 76 | using AggState = typename HashMethodType::State; |
310 | 76 | AggState state(key_columns); |
311 | 76 | agg_method.init_serialized_keys(key_columns, num_rows); |
312 | | |
313 | 1.06M | auto creator = [this](const auto& ctor, auto& key, auto& origin) { |
314 | 1.06M | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); |
315 | 1.06M | auto mapped = _agg_data_container->append_data(origin); |
316 | 1.06M | auto st = create_agg_state(mapped); |
317 | 1.06M | if (!st) { |
318 | 0 | throw Exception(st.code(), st.to_string()); |
319 | 0 | } |
320 | 1.06M | ctor(key, mapped); |
321 | 1.06M | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISH_vEEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSX_17FlatHashMapPolicyISH_S1_EESJ_NS_7EqualToISH_EENS_10Allocator_ISt4pairIKSH_S1_EEEE11constructorESH_SH_EEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEvRT_ENKUlRKSL_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSW_17FlatHashMapPolicyIhS1_EESI_NS_7EqualToIhEENS_10Allocator_ISt4pairIKhS1_EEEE11constructorEhhEEDaSO_SQ_SS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEvRT_ENKUlRKSL_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSW_17FlatHashMapPolicyItS1_EESI_NS_7EqualToItEENS_10Allocator_ISt4pairIKtS1_EEEE11constructorEttEEDaSO_SQ_SS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEvRT_ENKUlRKSL_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSW_17FlatHashMapPolicyIjS1_EESI_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSO_SQ_SS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ENKUlRKSL_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSW_17FlatHashMapPolicyImS1_EESI_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSO_SQ_SS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefES1_EEE11ConstructorESY_SY_EEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItS1_EE19StringHashTableHash21StringHashTableGrowerILm4EESJ_E11ConstructorEtNS_9StringRefEEEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESJ_E11ConstructorEjNS_9StringRefEEEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESJ_E11ConstructorEmNS_9StringRefEEEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellISZ_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESJ_E11ConstructorESZ_NS_9StringRefEEEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellISX_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESJ_E11ConstructorESX_SX_EEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEvRT_ENKUlRKSO_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSZ_17FlatHashMapPolicyISI_S1_EESL_NS_7EqualToISI_EENS_10Allocator_ISt4pairIKSI_S1_EEEE11constructorESI_SI_EEDaSR_ST_SV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEvRT_ENKUlRKSO_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSZ_17FlatHashMapPolicyISI_S1_EESL_NS_7EqualToISI_EENS_10Allocator_ISt4pairIKSI_S1_EEEE11constructorESI_SI_EEDaSR_ST_SV_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ENKUlRKSN_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSY_17FlatHashMapPolicyIjS1_EESK_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSQ_SS_SU_ Line | Count | Source | 313 | 1.06M | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 314 | 1.06M | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 315 | 1.06M | auto mapped = _agg_data_container->append_data(origin); | 316 | 1.06M | auto st = create_agg_state(mapped); | 317 | 1.06M | if (!st) { | 318 | 0 | throw Exception(st.code(), st.to_string()); | 319 | 0 | } | 320 | 1.06M | ctor(key, mapped); | 321 | 1.06M | }; |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ENKUlRKSN_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSY_17FlatHashMapPolicyImS1_EESK_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSQ_SS_SU_ Line | Count | Source | 313 | 61 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 314 | 61 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 315 | 61 | auto mapped = _agg_data_container->append_data(origin); | 316 | 61 | auto st = create_agg_state(mapped); | 317 | 61 | if (!st) { | 318 | 0 | throw Exception(st.code(), st.to_string()); | 319 | 0 | } | 320 | 61 | ctor(key, mapped); | 321 | 61 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEvRT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyIhS1_EESK_NS_7EqualToIhEENS_10Allocator_ISt4pairIKhS1_EEEE11constructorEhhEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEvRT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyItS1_EESK_NS_7EqualToItEENS_10Allocator_ISt4pairIKtS1_EEEE11constructorEttEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEvRT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyIjS1_EESK_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEvRT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyImS1_EESK_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ENKUlRKSR_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS12_17FlatHashMapPolicyIjS1_EESM_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSU_SW_SY_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ENKUlRKSR_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS12_17FlatHashMapPolicyImS1_EESM_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSU_SW_SY_ Line | Count | Source | 313 | 25 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 314 | 25 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 315 | 25 | auto mapped = _agg_data_container->append_data(origin); | 316 | 25 | auto st = create_agg_state(mapped); | 317 | 25 | if (!st) { | 318 | 0 | throw Exception(st.code(), st.to_string()); | 319 | 0 | } | 320 | 25 | ctor(key, mapped); | 321 | 25 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyISJ_S1_EESN_NS_7EqualToISJ_EENS_10Allocator_ISt4pairIKSJ_S1_EEEE11constructorESJ_SJ_EEDaSV_SX_SZ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyISJ_S1_EESN_NS_7EqualToISJ_EENS_10Allocator_ISt4pairIKSJ_S1_EEEE11constructorESJ_SJ_EEDaSV_SX_SZ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlRKSQ_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefES1_EEE11ConstructorES12_S12_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItS1_EE19StringHashTableHash21StringHashTableGrowerILm4EESL_E11ConstructorEtNS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESL_E11ConstructorEjNS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESL_E11ConstructorEmNS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellIS13_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESL_E11ConstructorES13_NS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellIS11_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESL_E11ConstructorES11_S11_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ENKUlRKSL_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSW_17FlatHashMapPolicyImS1_EESI_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSO_SQ_SS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISH_EEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSX_17FlatHashMapPolicyISH_S1_EESJ_NS_7EqualToISH_EENS_10Allocator_ISt4pairIKSH_S1_EEEE11constructorESH_SH_EEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISH_EEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSX_17FlatHashMapPolicyISH_S1_EESJ_NS_7EqualToISH_EENS_10Allocator_ISt4pairIKSH_S1_EEEE11constructorESH_SH_EEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISH_EEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSX_17FlatHashMapPolicyISH_S1_EESJ_NS_7EqualToISH_EENS_10Allocator_ISt4pairIKSH_S1_EEEE11constructorESH_SH_EEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISJ_EEEEEEvRT_ENKUlRKSO_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSZ_17FlatHashMapPolicyISJ_S1_EESL_NS_7EqualToISJ_EENS_10Allocator_ISt4pairIKSJ_S1_EEEE11constructorESJ_SJ_EEDaSR_ST_SV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISH_EEEEEEvRT_ENKUlRKSM_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSX_17FlatHashMapPolicyISH_S1_EESJ_NS_7EqualToISH_EENS_10Allocator_ISt4pairIKSH_S1_EEEE11constructorESH_SH_EEDaSP_SR_ST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISJ_EEEEEEvRT_ENKUlRKSO_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSZ_17FlatHashMapPolicyISJ_S1_EESL_NS_7EqualToISJ_EENS_10Allocator_ISt4pairIKSJ_S1_EEEE11constructorESJ_SJ_EEDaSR_ST_SV_ |
322 | | |
323 | 76 | auto creator_for_null_key = [&](auto& mapped) { |
324 | 8 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, |
325 | 8 | _agg_state_alignment); |
326 | 8 | auto st = create_agg_state(mapped); |
327 | 8 | if (!st) { |
328 | 0 | throw Exception(st.code(), st.to_string()); |
329 | 0 | } |
330 | 8 | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEvRT_ENKUlSQ_E_clIS1_EEDaSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEvRT_ENKUlSQ_E_clIS1_EEDaSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEvRT_ENKUlSQ_E_clIS1_EEDaSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEvRT_ENKUlSQ_E_clIS1_EEDaSQ_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ENKUlSS_E_clIS1_EEDaSS_ Line | Count | Source | 323 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 324 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 325 | 2 | _agg_state_alignment); | 326 | 2 | auto st = create_agg_state(mapped); | 327 | 2 | if (!st) { | 328 | 0 | throw Exception(st.code(), st.to_string()); | 329 | 0 | } | 330 | 2 | }; |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ENKUlSS_E_clIS1_EEDaSS_ Line | Count | Source | 323 | 6 | auto creator_for_null_key = [&](auto& mapped) { | 324 | 6 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 325 | 6 | _agg_state_alignment); | 326 | 6 | auto st = create_agg_state(mapped); | 327 | 6 | if (!st) { | 328 | 0 | throw Exception(st.code(), st.to_string()); | 329 | 0 | } | 330 | 6 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ENKUlST_E_clIS1_EEDaST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ENKUlST_E_clIS1_EEDaST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUlSR_E_clIS1_EEDaSR_ |
331 | | |
332 | 76 | SCOPED_TIMER(hash_table_emplace_timer); |
333 | 76 | lazy_emplace_batch( |
334 | 76 | agg_method, state, num_rows, creator, creator_for_null_key, |
335 | 1.06M | [&](uint32_t row, auto& mapped) { places[row] = mapped; });Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISH_vEEEEEEvRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEvRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEvRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEvRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEvRT_ENKUljSP_E_clIS1_EEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEvRT_ENKUljSP_E_clIS1_EEDajSP_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ENKUljSO_E_clIS1_EEDajSO_ Line | Count | Source | 335 | 1.06M | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ENKUljSO_E_clIS1_EEDajSO_ Line | Count | Source | 335 | 96 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEvRT_ENKUljSQ_E_clIS1_EEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEvRT_ENKUljSQ_E_clIS1_EEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEvRT_ENKUljSQ_E_clIS1_EEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEvRT_ENKUljSQ_E_clIS1_EEDajSQ_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ENKUljSS_E_clIS1_EEDajSS_ Line | Count | Source | 335 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ENKUljSS_E_clIS1_EEDajSS_ Line | Count | Source | 335 | 46 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ENKUljST_E_clIS1_EEDajST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ENKUljST_E_clIS1_EEDajST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUljSR_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISH_EEEEEEvRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISH_EEEEEEvRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISH_EEEEEEvRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISJ_EEEEEEvRT_ENKUljSP_E_clIS1_EEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISH_EEEEEEvRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISJ_EEEEEEvRT_ENKUljSP_E_clIS1_EEDajSP_ |
336 | | |
337 | 76 | COUNTER_UPDATE(hash_table_input_counter, num_rows); |
338 | 76 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISH_vEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ Line | Count | Source | 306 | 49 | [&](auto& agg_method) -> void { | 307 | 49 | SCOPED_TIMER(hash_table_compute_timer); | 308 | 49 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 309 | 49 | using AggState = typename HashMethodType::State; | 310 | 49 | AggState state(key_columns); | 311 | 49 | agg_method.init_serialized_keys(key_columns, num_rows); | 312 | | | 313 | 49 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 314 | 49 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 315 | 49 | auto mapped = _agg_data_container->append_data(origin); | 316 | 49 | auto st = create_agg_state(mapped); | 317 | 49 | if (!st) { | 318 | 49 | throw Exception(st.code(), st.to_string()); | 319 | 49 | } | 320 | 49 | ctor(key, mapped); | 321 | 49 | }; | 322 | | | 323 | 49 | auto creator_for_null_key = [&](auto& mapped) { | 324 | 49 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 325 | 49 | _agg_state_alignment); | 326 | 49 | auto st = create_agg_state(mapped); | 327 | 49 | if (!st) { | 328 | 49 | throw Exception(st.code(), st.to_string()); | 329 | 49 | } | 330 | 49 | }; | 331 | | | 332 | 49 | SCOPED_TIMER(hash_table_emplace_timer); | 333 | 49 | lazy_emplace_batch( | 334 | 49 | agg_method, state, num_rows, creator, creator_for_null_key, | 335 | 49 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 336 | | | 337 | 49 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 338 | 49 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 306 | 17 | [&](auto& agg_method) -> void { | 307 | 17 | SCOPED_TIMER(hash_table_compute_timer); | 308 | 17 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 309 | 17 | using AggState = typename HashMethodType::State; | 310 | 17 | AggState state(key_columns); | 311 | 17 | agg_method.init_serialized_keys(key_columns, num_rows); | 312 | | | 313 | 17 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 314 | 17 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 315 | 17 | auto mapped = _agg_data_container->append_data(origin); | 316 | 17 | auto st = create_agg_state(mapped); | 317 | 17 | if (!st) { | 318 | 17 | throw Exception(st.code(), st.to_string()); | 319 | 17 | } | 320 | 17 | ctor(key, mapped); | 321 | 17 | }; | 322 | | | 323 | 17 | auto creator_for_null_key = [&](auto& mapped) { | 324 | 17 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 325 | 17 | _agg_state_alignment); | 326 | 17 | auto st = create_agg_state(mapped); | 327 | 17 | if (!st) { | 328 | 17 | throw Exception(st.code(), st.to_string()); | 329 | 17 | } | 330 | 17 | }; | 331 | | | 332 | 17 | SCOPED_TIMER(hash_table_emplace_timer); | 333 | 17 | lazy_emplace_batch( | 334 | 17 | agg_method, state, num_rows, creator, creator_for_null_key, | 335 | 17 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 336 | | | 337 | 17 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 338 | 17 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ Line | Count | Source | 306 | 2 | [&](auto& agg_method) -> void { | 307 | 2 | SCOPED_TIMER(hash_table_compute_timer); | 308 | 2 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 309 | 2 | using AggState = typename HashMethodType::State; | 310 | 2 | AggState state(key_columns); | 311 | 2 | agg_method.init_serialized_keys(key_columns, num_rows); | 312 | | | 313 | 2 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 314 | 2 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 315 | 2 | auto mapped = _agg_data_container->append_data(origin); | 316 | 2 | auto st = create_agg_state(mapped); | 317 | 2 | if (!st) { | 318 | 2 | throw Exception(st.code(), st.to_string()); | 319 | 2 | } | 320 | 2 | ctor(key, mapped); | 321 | 2 | }; | 322 | | | 323 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 324 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 325 | 2 | _agg_state_alignment); | 326 | 2 | auto st = create_agg_state(mapped); | 327 | 2 | if (!st) { | 328 | 2 | throw Exception(st.code(), st.to_string()); | 329 | 2 | } | 330 | 2 | }; | 331 | | | 332 | 2 | SCOPED_TIMER(hash_table_emplace_timer); | 333 | 2 | lazy_emplace_batch( | 334 | 2 | agg_method, state, num_rows, creator, creator_for_null_key, | 335 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 336 | | | 337 | 2 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 338 | 2 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Line | Count | Source | 306 | 8 | [&](auto& agg_method) -> void { | 307 | 8 | SCOPED_TIMER(hash_table_compute_timer); | 308 | 8 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 309 | 8 | using AggState = typename HashMethodType::State; | 310 | 8 | AggState state(key_columns); | 311 | 8 | agg_method.init_serialized_keys(key_columns, num_rows); | 312 | | | 313 | 8 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 314 | 8 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 315 | 8 | auto mapped = _agg_data_container->append_data(origin); | 316 | 8 | auto st = create_agg_state(mapped); | 317 | 8 | if (!st) { | 318 | 8 | throw Exception(st.code(), st.to_string()); | 319 | 8 | } | 320 | 8 | ctor(key, mapped); | 321 | 8 | }; | 322 | | | 323 | 8 | auto creator_for_null_key = [&](auto& mapped) { | 324 | 8 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 325 | 8 | _agg_state_alignment); | 326 | 8 | auto st = create_agg_state(mapped); | 327 | 8 | if (!st) { | 328 | 8 | throw Exception(st.code(), st.to_string()); | 329 | 8 | } | 330 | 8 | }; | 331 | | | 332 | 8 | SCOPED_TIMER(hash_table_emplace_timer); | 333 | 8 | lazy_emplace_batch( | 334 | 8 | agg_method, state, num_rows, creator, creator_for_null_key, | 335 | 8 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 336 | | | 337 | 8 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 338 | 8 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISH_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISH_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISH_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISJ_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISH_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISJ_EEEEEEvRT_ |
339 | 76 | _hash_table_data->method_variant); |
340 | 76 | } |
341 | | |
342 | | void GroupByAggContext::find_in_hash_table(AggregateDataPtr* places, ColumnRawPtrs& key_columns, |
343 | 3 | uint32_t num_rows) { |
344 | 3 | std::visit(Overload {[&](std::monostate& arg) -> void { |
345 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, |
346 | 0 | "uninited hash table"); |
347 | 0 | }, |
348 | 3 | [&](auto& agg_method) -> void { |
349 | 3 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
350 | 3 | using AggState = typename HashMethodType::State; |
351 | 3 | AggState state(key_columns); |
352 | 3 | agg_method.init_serialized_keys(key_columns, num_rows); |
353 | | |
354 | 3 | find_batch(agg_method, state, num_rows, |
355 | 15 | [&](uint32_t row, auto& find_result) { |
356 | 15 | if (find_result.is_found()) { |
357 | 5 | places[row] = find_result.get_mapped(); |
358 | 10 | } else { |
359 | 10 | places[row] = nullptr; |
360 | 10 | } |
361 | 15 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISE_vEEEEEEvRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEvRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEvRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEvRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEvRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEvRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ENKUljSL_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSL_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ENKUljSL_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSL_ Line | Count | Source | 355 | 15 | [&](uint32_t row, auto& find_result) { | 356 | 15 | if (find_result.is_found()) { | 357 | 5 | places[row] = find_result.get_mapped(); | 358 | 10 | } else { | 359 | 10 | places[row] = nullptr; | 360 | 10 | } | 361 | 15 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEvRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEvRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEvRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEvRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ENKUljSP_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ENKUljSP_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEvRT_ENKUljSQ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEvRT_ENKUljSQ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ENKUljSO_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSO_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISE_EEEEEEvRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISE_EEEEEEvRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISE_EEEEEEvRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISG_EEEEEEvRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISE_EEEEEEvRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISG_EEEEEEvRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ |
362 | 3 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISE_vEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 348 | 3 | [&](auto& agg_method) -> void { | 349 | 3 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 350 | 3 | using AggState = typename HashMethodType::State; | 351 | 3 | AggState state(key_columns); | 352 | 3 | agg_method.init_serialized_keys(key_columns, num_rows); | 353 | | | 354 | 3 | find_batch(agg_method, state, num_rows, | 355 | 3 | [&](uint32_t row, auto& find_result) { | 356 | 3 | if (find_result.is_found()) { | 357 | 3 | places[row] = find_result.get_mapped(); | 358 | 3 | } else { | 359 | 3 | places[row] = nullptr; | 360 | 3 | } | 361 | 3 | }); | 362 | 3 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISE_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISE_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISE_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISG_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISE_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISG_EEEEEEvRT_ |
363 | 3 | _hash_table_data->method_variant); |
364 | 3 | } |
365 | | |
366 | | bool GroupByAggContext::emplace_into_hash_table_limit(AggregateDataPtr* places, Block* block, |
367 | | const std::vector<int>* key_locs, |
368 | | ColumnRawPtrs& key_columns, |
369 | 4 | uint32_t num_rows) { |
370 | 4 | return std::visit( |
371 | 4 | Overload {[&](std::monostate& arg) { |
372 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
373 | 0 | return true; |
374 | 0 | }, |
375 | 4 | [&](auto&& agg_method) -> bool { |
376 | 4 | SCOPED_TIMER(_hash_table_compute_timer); |
377 | 4 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
378 | 4 | using AggState = typename HashMethodType::State; |
379 | | |
380 | 4 | bool need_filter = false; |
381 | 4 | { |
382 | 4 | SCOPED_TIMER(_hash_table_limit_compute_timer); |
383 | 4 | need_filter = do_limit_filter(num_rows, key_columns); |
384 | 4 | } |
385 | | |
386 | 4 | auto& need_computes = _need_computes; |
387 | 4 | if (auto need_agg = |
388 | 4 | std::find(need_computes.begin(), need_computes.end(), 1); |
389 | 4 | need_agg != need_computes.end()) { |
390 | 4 | if (need_filter) { |
391 | 4 | Block::filter_block_internal(block, need_computes); |
392 | 4 | if (key_locs) { |
393 | 8 | for (int i = 0; i < key_locs->size(); ++i) { |
394 | 4 | key_columns[i] = |
395 | 4 | block->get_by_position((*key_locs)[i]) |
396 | 4 | .column.get(); |
397 | 4 | } |
398 | 4 | } |
399 | 4 | num_rows = (uint32_t)block->rows(); |
400 | 4 | } |
401 | | |
402 | 4 | AggState state(key_columns); |
403 | 4 | agg_method.init_serialized_keys(key_columns, num_rows); |
404 | 4 | size_t i = 0; |
405 | | |
406 | 4 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { |
407 | 1 | try { |
408 | 1 | HashMethodType::try_presis_key_and_origin(key, origin, |
409 | 1 | _agg_arena); |
410 | 1 | auto mapped = _agg_data_container->append_data(origin); |
411 | 1 | auto st = create_agg_state(mapped); |
412 | 1 | if (!st) { |
413 | 0 | throw Exception(st.code(), st.to_string()); |
414 | 0 | } |
415 | 1 | ctor(key, mapped); |
416 | 1 | refresh_top_limit(i, key_columns); |
417 | 1 | } catch (...) { |
418 | 0 | ctor(key, nullptr); |
419 | 0 | throw; |
420 | 0 | } |
421 | 1 | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISK_vEEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS11_17FlatHashMapPolicyISK_S1_EESM_NS_7EqualToISK_EENS_10Allocator_ISt4pairIKSK_S1_EEEE11constructorESK_SK_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEbOT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyIhS1_EESL_NS_7EqualToIhEENS_10Allocator_ISt4pairIKhS1_EEEE11constructorEhhEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEbOT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyItS1_EESL_NS_7EqualToItEENS_10Allocator_ISt4pairIKtS1_EEEE11constructorEttEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEbOT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyIjS1_EESL_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyImS1_EESL_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefES1_EEE11ConstructorES12_S12_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItS1_EE19StringHashTableHash21StringHashTableGrowerILm4EESM_E11ConstructorEtNS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESM_E11ConstructorEjNS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESM_E11ConstructorEmNS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellIS13_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESM_E11ConstructorES13_NS_9StringRefEEEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellIS11_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESM_E11ConstructorES11_S11_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyISL_S1_EESO_NS_7EqualToISL_EENS_10Allocator_ISt4pairIKSL_S1_EEEE11constructorESL_SL_EEDaSV_SX_SZ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyISL_S1_EESO_NS_7EqualToISL_EENS_10Allocator_ISt4pairIKSL_S1_EEEE11constructorESL_SL_EEDaSV_SX_SZ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEbOT_ENKUlRKSR_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS12_17FlatHashMapPolicyIjS1_EESN_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSU_SW_SY_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ENKUlRKSR_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS12_17FlatHashMapPolicyImS1_EESN_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSU_SW_SY_ Line | Count | Source | 406 | 1 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 407 | 1 | try { | 408 | 1 | HashMethodType::try_presis_key_and_origin(key, origin, | 409 | 1 | _agg_arena); | 410 | 1 | auto mapped = _agg_data_container->append_data(origin); | 411 | 1 | auto st = create_agg_state(mapped); | 412 | 1 | if (!st) { | 413 | 0 | throw Exception(st.code(), st.to_string()); | 414 | 0 | } | 415 | 1 | ctor(key, mapped); | 416 | 1 | refresh_top_limit(i, key_columns); | 417 | 1 | } catch (...) { | 418 | 0 | ctor(key, nullptr); | 419 | 0 | throw; | 420 | 0 | } | 421 | 1 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyIhS1_EESN_NS_7EqualToIhEENS_10Allocator_ISt4pairIKhS1_EEEE11constructorEhhEEDaSW_SY_S10_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyItS1_EESN_NS_7EqualToItEENS_10Allocator_ISt4pairIKtS1_EEEE11constructorEttEEDaSW_SY_S10_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyIjS1_EESN_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSW_SY_S10_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ENKUlRKST_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS14_17FlatHashMapPolicyImS1_EESN_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSW_SY_S10_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyIjS1_EESP_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSY_S10_S12_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ENKUlRKSV_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS16_17FlatHashMapPolicyImS1_EESP_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSY_S10_S12_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUlRKSW_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS17_17FlatHashMapPolicyISM_S1_EESQ_NS_7EqualToISM_EENS_10Allocator_ISt4pairIKSM_S1_EEEE11constructorESM_SM_EEDaSZ_S11_S13_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUlRKSW_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS17_17FlatHashMapPolicyISM_S1_EESQ_NS_7EqualToISM_EENS_10Allocator_ISt4pairIKSM_S1_EEEE11constructorESM_SM_EEDaSZ_S11_S13_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRKSU_RT0_RT1_E_clIN20StringHashTableEmptyINS_17StringHashMapCellINS_9StringRefES1_EEE11ConstructorES16_S16_EEDaSX_SZ_S11_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRKSU_RT0_RT1_E_clIN9HashTableItNS_17StringHashMapCellItS1_EE19StringHashTableHash21StringHashTableGrowerILm4EESO_E11ConstructorEtNS_9StringRefEEEDaSX_SZ_S11_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRKSU_RT0_RT1_E_clIN9HashTableIjNS_17StringHashMapCellIjS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESO_E11ConstructorEjNS_9StringRefEEEDaSX_SZ_S11_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRKSU_RT0_RT1_E_clIN9HashTableImNS_17StringHashMapCellImS1_EE19StringHashTableHash21StringHashTableGrowerILm8EESO_E11ConstructorEmNS_9StringRefEEEDaSX_SZ_S11_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRKSU_RT0_RT1_E_clIN9HashTableIN4wide7integerILm128EjEENS_17StringHashMapCellIS17_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESO_E11ConstructorES17_NS_9StringRefEEEDaSX_SZ_S11_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRKSU_RT0_RT1_E_clIN9HashTableINS_9StringRefENS_17StringHashMapCellIS15_S1_EE19StringHashTableHash21StringHashTableGrowerILm8EESO_E11ConstructorES15_S15_EEDaSX_SZ_S11_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUlRKSP_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS10_17FlatHashMapPolicyImS1_EESL_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSS_SU_SW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISK_EEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS11_17FlatHashMapPolicyISK_S1_EESM_NS_7EqualToISK_EENS_10Allocator_ISt4pairIKSK_S1_EEEE11constructorESK_SK_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISK_EEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS11_17FlatHashMapPolicyISK_S1_EESM_NS_7EqualToISK_EENS_10Allocator_ISt4pairIKSK_S1_EEEE11constructorESK_SK_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISK_EEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS11_17FlatHashMapPolicyISK_S1_EESM_NS_7EqualToISK_EENS_10Allocator_ISt4pairIKSK_S1_EEEE11constructorESK_SK_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyISM_S1_EESO_NS_7EqualToISM_EENS_10Allocator_ISt4pairIKSM_S1_EEEE11constructorESM_SM_EEDaSV_SX_SZ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISK_EEEEEEbOT_ENKUlRKSQ_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS11_17FlatHashMapPolicyISK_S1_EESM_NS_7EqualToISK_EENS_10Allocator_ISt4pairIKSK_S1_EEEE11constructorESK_SK_EEDaST_SV_SX_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyISM_S1_EESO_NS_7EqualToISM_EENS_10Allocator_ISt4pairIKSM_S1_EEEE11constructorESM_SM_EEDaSV_SX_SZ_ |
422 | | |
423 | 4 | auto creator_for_null_key = [&](auto& mapped) { |
424 | 1 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, |
425 | 1 | _agg_state_alignment); |
426 | 1 | auto st = create_agg_state(mapped); |
427 | 1 | if (!st) { |
428 | 0 | throw Exception(st.code(), st.to_string()); |
429 | 0 | } |
430 | 1 | refresh_top_limit(i, key_columns); |
431 | 1 | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ENKUlRSV_E_clIS1_EEDaSX_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ENKUlRSV_E_clIS1_EEDaSX_ Line | Count | Source | 423 | 1 | auto creator_for_null_key = [&](auto& mapped) { | 424 | 1 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 425 | 1 | _agg_state_alignment); | 426 | 1 | auto st = create_agg_state(mapped); | 427 | 1 | if (!st) { | 428 | 0 | throw Exception(st.code(), st.to_string()); | 429 | 0 | } | 430 | 1 | refresh_top_limit(i, key_columns); | 431 | 1 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUlRSW_E_clIS1_EEDaSY_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUlRSW_E_clIS1_EEDaSY_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRSU_E_clIS1_EEDaSW_ |
432 | | |
433 | 4 | SCOPED_TIMER(_hash_table_emplace_timer); |
434 | 4 | lazy_emplace_batch( |
435 | 4 | agg_method, state, num_rows, creator, creator_for_null_key, |
436 | 8 | [&](uint32_t row) { i = row; },Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISK_vEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEbOT_ENKUljE_clEj groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ENKUljE_clEj Line | Count | Source | 436 | 4 | [&](uint32_t row) { i = row; }, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ENKUljE_clEj groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ENKUljE_clEj Line | Count | Source | 436 | 4 | [&](uint32_t row) { i = row; }, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljE_clEj |
437 | 8 | [&](uint32_t row, auto& mapped) { places[row] = mapped; });Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISK_vEEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEbOT_ENKUljRSR_E_clIS1_EEDajST_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ENKUljRSR_E_clIS1_EEDajST_ Line | Count | Source | 437 | 4 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ENKUljRSV_E_clIS1_EEDajSX_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ENKUljRSV_E_clIS1_EEDajSX_ Line | Count | Source | 437 | 4 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUljRSW_E_clIS1_EEDajSY_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUljRSW_E_clIS1_EEDajSY_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUljRSU_E_clIS1_EEDajSW_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ |
438 | 4 | COUNTER_UPDATE(_hash_table_input_counter, num_rows); |
439 | 4 | return true; |
440 | 4 | } |
441 | 0 | return false; |
442 | 4 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISK_vEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEbOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ Line | Count | Source | 375 | 2 | [&](auto&& agg_method) -> bool { | 376 | 2 | SCOPED_TIMER(_hash_table_compute_timer); | 377 | 2 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 378 | 2 | using AggState = typename HashMethodType::State; | 379 | | | 380 | 2 | bool need_filter = false; | 381 | 2 | { | 382 | 2 | SCOPED_TIMER(_hash_table_limit_compute_timer); | 383 | 2 | need_filter = do_limit_filter(num_rows, key_columns); | 384 | 2 | } | 385 | | | 386 | 2 | auto& need_computes = _need_computes; | 387 | 2 | if (auto need_agg = | 388 | 2 | std::find(need_computes.begin(), need_computes.end(), 1); | 389 | 2 | need_agg != need_computes.end()) { | 390 | 2 | if (need_filter) { | 391 | 2 | Block::filter_block_internal(block, need_computes); | 392 | 2 | if (key_locs) { | 393 | 4 | for (int i = 0; i < key_locs->size(); ++i) { | 394 | 2 | key_columns[i] = | 395 | 2 | block->get_by_position((*key_locs)[i]) | 396 | 2 | .column.get(); | 397 | 2 | } | 398 | 2 | } | 399 | 2 | num_rows = (uint32_t)block->rows(); | 400 | 2 | } | 401 | | | 402 | 2 | AggState state(key_columns); | 403 | 2 | agg_method.init_serialized_keys(key_columns, num_rows); | 404 | 2 | size_t i = 0; | 405 | | | 406 | 2 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 407 | 2 | try { | 408 | 2 | HashMethodType::try_presis_key_and_origin(key, origin, | 409 | 2 | _agg_arena); | 410 | 2 | auto mapped = _agg_data_container->append_data(origin); | 411 | 2 | auto st = create_agg_state(mapped); | 412 | 2 | if (!st) { | 413 | 2 | throw Exception(st.code(), st.to_string()); | 414 | 2 | } | 415 | 2 | ctor(key, mapped); | 416 | 2 | refresh_top_limit(i, key_columns); | 417 | 2 | } catch (...) { | 418 | 2 | ctor(key, nullptr); | 419 | 2 | throw; | 420 | 2 | } | 421 | 2 | }; | 422 | | | 423 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 424 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 425 | 2 | _agg_state_alignment); | 426 | 2 | auto st = create_agg_state(mapped); | 427 | 2 | if (!st) { | 428 | 2 | throw Exception(st.code(), st.to_string()); | 429 | 2 | } | 430 | 2 | refresh_top_limit(i, key_columns); | 431 | 2 | }; | 432 | | | 433 | 2 | SCOPED_TIMER(_hash_table_emplace_timer); | 434 | 2 | lazy_emplace_batch( | 435 | 2 | agg_method, state, num_rows, creator, creator_for_null_key, | 436 | 2 | [&](uint32_t row) { i = row; }, | 437 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 438 | 2 | COUNTER_UPDATE(_hash_table_input_counter, num_rows); | 439 | 2 | return true; | 440 | 2 | } | 441 | 0 | return false; | 442 | 2 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ Line | Count | Source | 375 | 2 | [&](auto&& agg_method) -> bool { | 376 | 2 | SCOPED_TIMER(_hash_table_compute_timer); | 377 | 2 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 378 | 2 | using AggState = typename HashMethodType::State; | 379 | | | 380 | 2 | bool need_filter = false; | 381 | 2 | { | 382 | 2 | SCOPED_TIMER(_hash_table_limit_compute_timer); | 383 | 2 | need_filter = do_limit_filter(num_rows, key_columns); | 384 | 2 | } | 385 | | | 386 | 2 | auto& need_computes = _need_computes; | 387 | 2 | if (auto need_agg = | 388 | 2 | std::find(need_computes.begin(), need_computes.end(), 1); | 389 | 2 | need_agg != need_computes.end()) { | 390 | 2 | if (need_filter) { | 391 | 2 | Block::filter_block_internal(block, need_computes); | 392 | 2 | if (key_locs) { | 393 | 4 | for (int i = 0; i < key_locs->size(); ++i) { | 394 | 2 | key_columns[i] = | 395 | 2 | block->get_by_position((*key_locs)[i]) | 396 | 2 | .column.get(); | 397 | 2 | } | 398 | 2 | } | 399 | 2 | num_rows = (uint32_t)block->rows(); | 400 | 2 | } | 401 | | | 402 | 2 | AggState state(key_columns); | 403 | 2 | agg_method.init_serialized_keys(key_columns, num_rows); | 404 | 2 | size_t i = 0; | 405 | | | 406 | 2 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 407 | 2 | try { | 408 | 2 | HashMethodType::try_presis_key_and_origin(key, origin, | 409 | 2 | _agg_arena); | 410 | 2 | auto mapped = _agg_data_container->append_data(origin); | 411 | 2 | auto st = create_agg_state(mapped); | 412 | 2 | if (!st) { | 413 | 2 | throw Exception(st.code(), st.to_string()); | 414 | 2 | } | 415 | 2 | ctor(key, mapped); | 416 | 2 | refresh_top_limit(i, key_columns); | 417 | 2 | } catch (...) { | 418 | 2 | ctor(key, nullptr); | 419 | 2 | throw; | 420 | 2 | } | 421 | 2 | }; | 422 | | | 423 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 424 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 425 | 2 | _agg_state_alignment); | 426 | 2 | auto st = create_agg_state(mapped); | 427 | 2 | if (!st) { | 428 | 2 | throw Exception(st.code(), st.to_string()); | 429 | 2 | } | 430 | 2 | refresh_top_limit(i, key_columns); | 431 | 2 | }; | 432 | | | 433 | 2 | SCOPED_TIMER(_hash_table_emplace_timer); | 434 | 2 | lazy_emplace_batch( | 435 | 2 | agg_method, state, num_rows, creator, creator_for_null_key, | 436 | 2 | [&](uint32_t row) { i = row; }, | 437 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 438 | 2 | COUNTER_UPDATE(_hash_table_input_counter, num_rows); | 439 | 2 | return true; | 440 | 2 | } | 441 | 0 | return false; | 442 | 2 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISM_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ |
443 | 4 | _hash_table_data->method_variant); |
444 | 4 | } |
445 | | |
446 | | // ==================== Aggregation execution ==================== |
447 | | |
448 | | Status GroupByAggContext::evaluate_groupby_keys(Block* block, ColumnRawPtrs& key_columns, |
449 | 60 | std::vector<int>* key_locs) { |
450 | 60 | SCOPED_TIMER(_expr_timer); |
451 | 60 | const size_t key_size = _groupby_expr_ctxs.size(); |
452 | 120 | for (size_t i = 0; i < key_size; ++i) { |
453 | 60 | int result_column_id = -1; |
454 | 60 | RETURN_IF_ERROR(_groupby_expr_ctxs[i]->execute(block, &result_column_id)); |
455 | 60 | block->get_by_position(result_column_id).column = |
456 | 60 | block->get_by_position(result_column_id) |
457 | 60 | .column->convert_to_full_column_if_const(); |
458 | 60 | key_columns[i] = block->get_by_position(result_column_id).column.get(); |
459 | 60 | key_columns[i]->assume_mutable()->replace_float_special_values(); |
460 | 60 | if (key_locs) { |
461 | 52 | (*key_locs)[i] = result_column_id; |
462 | 52 | } |
463 | 60 | } |
464 | 60 | return Status::OK(); |
465 | 60 | } |
466 | | |
467 | 43 | Status GroupByAggContext::execute_with_serialized_key(Block* block) { |
468 | 43 | memory_usage_last_executing = 0; |
469 | 43 | SCOPED_PEAK_MEM(&memory_usage_last_executing); |
470 | | |
471 | 43 | SCOPED_TIMER(_build_timer); |
472 | 43 | DCHECK(!_groupby_expr_ctxs.empty()); |
473 | | |
474 | 43 | size_t key_size = _groupby_expr_ctxs.size(); |
475 | 43 | ColumnRawPtrs key_columns(key_size); |
476 | 43 | std::vector<int> key_locs(key_size); |
477 | 43 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); |
478 | | |
479 | 43 | auto rows = (uint32_t)block->rows(); |
480 | 43 | if (_places.size() < rows) { |
481 | 30 | _places.resize(rows); |
482 | 30 | } |
483 | | |
484 | 43 | if (reach_limit && !do_sort_limit) { |
485 | 1 | find_in_hash_table(_places.data(), key_columns, rows); |
486 | | |
487 | 2 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
488 | 1 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add_selected( |
489 | 1 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); |
490 | 1 | } |
491 | 42 | } else { |
492 | 42 | auto do_aggregate_evaluators = [&] { |
493 | 84 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
494 | 42 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( |
495 | 42 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); |
496 | 42 | } |
497 | 42 | return Status::OK(); |
498 | 42 | }; |
499 | | |
500 | 42 | if (reach_limit) { |
501 | | // do_sort_limit == true here |
502 | 3 | if (emplace_into_hash_table_limit(_places.data(), block, &key_locs, key_columns, |
503 | 3 | rows)) { |
504 | 3 | RETURN_IF_ERROR(do_aggregate_evaluators()); |
505 | 3 | } |
506 | 39 | } else { |
507 | 39 | emplace_into_hash_table(_places.data(), key_columns, rows, |
508 | 39 | _hash_table_compute_timer, _hash_table_emplace_timer, |
509 | 39 | _hash_table_input_counter); |
510 | 39 | RETURN_IF_ERROR(do_aggregate_evaluators()); |
511 | | |
512 | 39 | _check_limit_after_emplace(); |
513 | 39 | } |
514 | 42 | } |
515 | 43 | return Status::OK(); |
516 | 43 | } |
517 | | |
518 | | Status GroupByAggContext::emplace_and_forward(AggregateDataPtr* places, ColumnRawPtrs& key_columns, |
519 | | uint32_t num_rows, Block* block, |
520 | 6 | bool expand_hash_table) { |
521 | 6 | emplace_into_hash_table(places, key_columns, num_rows, _hash_table_compute_timer, |
522 | 6 | _hash_table_emplace_timer, _hash_table_input_counter); |
523 | | |
524 | 12 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
525 | 6 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( |
526 | 6 | block, _agg_state_offsets[i], places, _agg_arena, expand_hash_table)); |
527 | 6 | } |
528 | 6 | return Status::OK(); |
529 | 6 | } |
530 | | |
531 | 9 | Status GroupByAggContext::merge_with_serialized_key(Block* block) { |
532 | 9 | memory_usage_last_executing = 0; |
533 | 9 | SCOPED_PEAK_MEM(&memory_usage_last_executing); |
534 | | |
535 | 9 | if (reach_limit) { |
536 | 3 | return _merge_with_serialized_key_helper<true, false>(block); |
537 | 6 | } else { |
538 | 6 | return _merge_with_serialized_key_helper<false, false>(block); |
539 | 6 | } |
540 | 9 | } |
541 | | |
542 | 24 | Status GroupByAggContext::merge_with_serialized_key_for_spill(Block* block) { |
543 | 24 | return _merge_with_serialized_key_helper<false, true>(block); |
544 | 24 | } |
545 | | |
546 | 39 | void GroupByAggContext::_check_limit_after_emplace() { |
547 | 39 | if (should_limit_output && !enable_spill) { |
548 | 12 | const size_t ht_size = hash_table_size(); |
549 | 12 | reach_limit = ht_size >= (do_sort_limit ? limit * config::topn_agg_limit_multiplier |
550 | 12 | : limit); |
551 | 12 | if (reach_limit && do_sort_limit) { |
552 | 3 | build_limit_heap(ht_size); |
553 | 3 | } |
554 | 12 | } |
555 | 39 | } |
556 | | |
557 | 6 | void GroupByAggContext::_check_limit_after_emplace_for_merge() { |
558 | 6 | if (should_limit_output) { |
559 | 6 | const size_t ht_size = hash_table_size(); |
560 | 6 | reach_limit = ht_size >= limit; |
561 | 6 | if (do_sort_limit && reach_limit) { |
562 | 1 | build_limit_heap(ht_size); |
563 | 1 | } |
564 | 6 | } |
565 | 6 | } |
566 | | |
567 | | template <bool limit, bool for_spill> |
568 | 33 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { |
569 | 33 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; |
570 | 33 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; |
571 | 33 | SCOPED_TIMER(merge_timer); |
572 | | |
573 | 33 | size_t key_size = _groupby_expr_ctxs.size(); |
574 | 33 | ColumnRawPtrs key_columns(key_size); |
575 | 33 | std::vector<int> key_locs(key_size); |
576 | | |
577 | 33 | if constexpr (for_spill) { |
578 | 48 | for (int i = 0; i < key_size; ++i) { |
579 | 24 | key_columns[i] = block->get_by_position(i).column.get(); |
580 | 24 | key_columns[i]->assume_mutable()->replace_float_special_values(); |
581 | 24 | key_locs[i] = i; |
582 | 24 | } |
583 | 24 | } else { |
584 | 9 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); |
585 | 9 | } |
586 | | |
587 | 9 | size_t rows = block->rows(); |
588 | 33 | if (_places.size() < rows) { |
589 | 6 | _places.resize(rows); |
590 | 6 | } |
591 | | |
592 | 33 | if (limit && !do_sort_limit) { |
593 | 2 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); |
594 | | |
595 | 4 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
596 | 2 | if (_agg_evaluators[i]->is_merge()) { |
597 | 1 | int col_id = get_slot_column_id(_agg_evaluators[i]); |
598 | 1 | auto column = block->get_by_position(col_id).column; |
599 | | |
600 | 1 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; |
601 | 1 | if (_deserialize_buffer.size() < buffer_size) { |
602 | 0 | _deserialize_buffer.resize(buffer_size); |
603 | 0 | } |
604 | | |
605 | 1 | { |
606 | 1 | SCOPED_TIMER(deser_timer); |
607 | 1 | _agg_evaluators[i]->function()->deserialize_and_merge_vec_selected( |
608 | 1 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), |
609 | 1 | column.get(), _agg_arena, rows); |
610 | 1 | } |
611 | 1 | } else { |
612 | 1 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add_selected( |
613 | 1 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); |
614 | 1 | } |
615 | 2 | } |
616 | 31 | } else { |
617 | 31 | bool need_do_agg = true; |
618 | 31 | if (limit) { |
619 | 1 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, |
620 | 1 | key_columns, (uint32_t)rows); |
621 | 1 | rows = block->rows(); |
622 | 30 | } else { |
623 | 30 | if constexpr (for_spill) { |
624 | 24 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, |
625 | 24 | _source_hash_table_compute_timer, |
626 | 24 | _source_hash_table_emplace_timer, |
627 | 24 | _source_hash_table_input_counter); |
628 | 24 | } else { |
629 | 6 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, |
630 | 6 | _hash_table_compute_timer, _hash_table_emplace_timer, |
631 | 6 | _hash_table_input_counter); |
632 | 6 | } |
633 | 30 | } |
634 | | |
635 | 31 | if (need_do_agg) { |
636 | 62 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
637 | 31 | if (_agg_evaluators[i]->is_merge() || for_spill) { |
638 | 29 | size_t col_id = 0; |
639 | 29 | if constexpr (for_spill) { |
640 | 24 | col_id = _groupby_expr_ctxs.size() + i; |
641 | 24 | } else { |
642 | 5 | col_id = get_slot_column_id(_agg_evaluators[i]); |
643 | 5 | } |
644 | 29 | auto column = block->get_by_position(col_id).column; |
645 | | |
646 | 29 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; |
647 | 29 | if (_deserialize_buffer.size() < buffer_size) { |
648 | 8 | _deserialize_buffer.resize(buffer_size); |
649 | 8 | } |
650 | | |
651 | 29 | { |
652 | 29 | SCOPED_TIMER(deser_timer); |
653 | 29 | _agg_evaluators[i]->function()->deserialize_and_merge_vec( |
654 | 29 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), |
655 | 29 | column.get(), _agg_arena, rows); |
656 | 29 | } |
657 | 29 | } else { |
658 | 2 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( |
659 | 2 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); |
660 | 2 | } |
661 | 31 | } |
662 | 31 | } |
663 | | |
664 | 31 | if (!limit && should_limit_output) { |
665 | 6 | _check_limit_after_emplace_for_merge(); |
666 | 6 | } |
667 | 31 | } |
668 | | |
669 | 33 | return Status::OK(); |
670 | 33 | } _ZN5doris17GroupByAggContext33_merge_with_serialized_key_helperILb1ELb0EEENS_6StatusEPNS_5BlockE Line | Count | Source | 568 | 3 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { | 569 | 3 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; | 570 | 3 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; | 571 | 3 | SCOPED_TIMER(merge_timer); | 572 | | | 573 | 3 | size_t key_size = _groupby_expr_ctxs.size(); | 574 | 3 | ColumnRawPtrs key_columns(key_size); | 575 | 3 | std::vector<int> key_locs(key_size); | 576 | | | 577 | | if constexpr (for_spill) { | 578 | | for (int i = 0; i < key_size; ++i) { | 579 | | key_columns[i] = block->get_by_position(i).column.get(); | 580 | | key_columns[i]->assume_mutable()->replace_float_special_values(); | 581 | | key_locs[i] = i; | 582 | | } | 583 | 3 | } else { | 584 | 3 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); | 585 | 3 | } | 586 | | | 587 | 3 | size_t rows = block->rows(); | 588 | 3 | if (_places.size() < rows) { | 589 | 0 | _places.resize(rows); | 590 | 0 | } | 591 | | | 592 | 3 | if (limit && !do_sort_limit) { | 593 | 2 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); | 594 | | | 595 | 4 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 596 | 2 | if (_agg_evaluators[i]->is_merge()) { | 597 | 1 | int col_id = get_slot_column_id(_agg_evaluators[i]); | 598 | 1 | auto column = block->get_by_position(col_id).column; | 599 | | | 600 | 1 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 601 | 1 | if (_deserialize_buffer.size() < buffer_size) { | 602 | 0 | _deserialize_buffer.resize(buffer_size); | 603 | 0 | } | 604 | | | 605 | 1 | { | 606 | 1 | SCOPED_TIMER(deser_timer); | 607 | 1 | _agg_evaluators[i]->function()->deserialize_and_merge_vec_selected( | 608 | 1 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 609 | 1 | column.get(), _agg_arena, rows); | 610 | 1 | } | 611 | 1 | } else { | 612 | 1 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add_selected( | 613 | 1 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 614 | 1 | } | 615 | 2 | } | 616 | 2 | } else { | 617 | 1 | bool need_do_agg = true; | 618 | 1 | if (limit) { | 619 | 1 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, | 620 | 1 | key_columns, (uint32_t)rows); | 621 | 1 | rows = block->rows(); | 622 | 1 | } else { | 623 | | if constexpr (for_spill) { | 624 | | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 625 | | _source_hash_table_compute_timer, | 626 | | _source_hash_table_emplace_timer, | 627 | | _source_hash_table_input_counter); | 628 | 0 | } else { | 629 | 0 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 630 | 0 | _hash_table_compute_timer, _hash_table_emplace_timer, | 631 | 0 | _hash_table_input_counter); | 632 | 0 | } | 633 | 0 | } | 634 | | | 635 | 1 | if (need_do_agg) { | 636 | 2 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 637 | 1 | if (_agg_evaluators[i]->is_merge() || for_spill) { | 638 | 1 | size_t col_id = 0; | 639 | | if constexpr (for_spill) { | 640 | | col_id = _groupby_expr_ctxs.size() + i; | 641 | 1 | } else { | 642 | 1 | col_id = get_slot_column_id(_agg_evaluators[i]); | 643 | 1 | } | 644 | 1 | auto column = block->get_by_position(col_id).column; | 645 | | | 646 | 1 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 647 | 1 | if (_deserialize_buffer.size() < buffer_size) { | 648 | 0 | _deserialize_buffer.resize(buffer_size); | 649 | 0 | } | 650 | | | 651 | 1 | { | 652 | 1 | SCOPED_TIMER(deser_timer); | 653 | 1 | _agg_evaluators[i]->function()->deserialize_and_merge_vec( | 654 | 1 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 655 | 1 | column.get(), _agg_arena, rows); | 656 | 1 | } | 657 | 1 | } else { | 658 | 0 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( | 659 | 0 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 660 | 0 | } | 661 | 1 | } | 662 | 1 | } | 663 | | | 664 | 1 | if (!limit && should_limit_output) { | 665 | 0 | _check_limit_after_emplace_for_merge(); | 666 | 0 | } | 667 | 1 | } | 668 | | | 669 | 3 | return Status::OK(); | 670 | 3 | } |
_ZN5doris17GroupByAggContext33_merge_with_serialized_key_helperILb0ELb0EEENS_6StatusEPNS_5BlockE Line | Count | Source | 568 | 6 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { | 569 | 6 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; | 570 | 6 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; | 571 | 6 | SCOPED_TIMER(merge_timer); | 572 | | | 573 | 6 | size_t key_size = _groupby_expr_ctxs.size(); | 574 | 6 | ColumnRawPtrs key_columns(key_size); | 575 | 6 | std::vector<int> key_locs(key_size); | 576 | | | 577 | | if constexpr (for_spill) { | 578 | | for (int i = 0; i < key_size; ++i) { | 579 | | key_columns[i] = block->get_by_position(i).column.get(); | 580 | | key_columns[i]->assume_mutable()->replace_float_special_values(); | 581 | | key_locs[i] = i; | 582 | | } | 583 | 6 | } else { | 584 | 6 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); | 585 | 6 | } | 586 | | | 587 | 6 | size_t rows = block->rows(); | 588 | 6 | if (_places.size() < rows) { | 589 | 6 | _places.resize(rows); | 590 | 6 | } | 591 | | | 592 | 6 | if (limit && !do_sort_limit) { | 593 | 0 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); | 594 | |
| 595 | 0 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 596 | 0 | if (_agg_evaluators[i]->is_merge()) { | 597 | 0 | int col_id = get_slot_column_id(_agg_evaluators[i]); | 598 | 0 | auto column = block->get_by_position(col_id).column; | 599 | |
| 600 | 0 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 601 | 0 | if (_deserialize_buffer.size() < buffer_size) { | 602 | 0 | _deserialize_buffer.resize(buffer_size); | 603 | 0 | } | 604 | |
| 605 | 0 | { | 606 | 0 | SCOPED_TIMER(deser_timer); | 607 | 0 | _agg_evaluators[i]->function()->deserialize_and_merge_vec_selected( | 608 | 0 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 609 | 0 | column.get(), _agg_arena, rows); | 610 | 0 | } | 611 | 0 | } else { | 612 | 0 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add_selected( | 613 | 0 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 614 | 0 | } | 615 | 0 | } | 616 | 6 | } else { | 617 | 6 | bool need_do_agg = true; | 618 | 6 | if (limit) { | 619 | 0 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, | 620 | 0 | key_columns, (uint32_t)rows); | 621 | 0 | rows = block->rows(); | 622 | 6 | } else { | 623 | | if constexpr (for_spill) { | 624 | | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 625 | | _source_hash_table_compute_timer, | 626 | | _source_hash_table_emplace_timer, | 627 | | _source_hash_table_input_counter); | 628 | 6 | } else { | 629 | 6 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 630 | 6 | _hash_table_compute_timer, _hash_table_emplace_timer, | 631 | 6 | _hash_table_input_counter); | 632 | 6 | } | 633 | 6 | } | 634 | | | 635 | 6 | if (need_do_agg) { | 636 | 12 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 637 | 6 | if (_agg_evaluators[i]->is_merge() || for_spill) { | 638 | 4 | size_t col_id = 0; | 639 | | if constexpr (for_spill) { | 640 | | col_id = _groupby_expr_ctxs.size() + i; | 641 | 4 | } else { | 642 | 4 | col_id = get_slot_column_id(_agg_evaluators[i]); | 643 | 4 | } | 644 | 4 | auto column = block->get_by_position(col_id).column; | 645 | | | 646 | 4 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 647 | 4 | if (_deserialize_buffer.size() < buffer_size) { | 648 | 4 | _deserialize_buffer.resize(buffer_size); | 649 | 4 | } | 650 | | | 651 | 4 | { | 652 | 4 | SCOPED_TIMER(deser_timer); | 653 | 4 | _agg_evaluators[i]->function()->deserialize_and_merge_vec( | 654 | 4 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 655 | 4 | column.get(), _agg_arena, rows); | 656 | 4 | } | 657 | 4 | } else { | 658 | 2 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( | 659 | 2 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 660 | 2 | } | 661 | 6 | } | 662 | 6 | } | 663 | | | 664 | 6 | if (!limit && should_limit_output) { | 665 | 6 | _check_limit_after_emplace_for_merge(); | 666 | 6 | } | 667 | 6 | } | 668 | | | 669 | 6 | return Status::OK(); | 670 | 6 | } |
_ZN5doris17GroupByAggContext33_merge_with_serialized_key_helperILb0ELb1EEENS_6StatusEPNS_5BlockE Line | Count | Source | 568 | 24 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { | 569 | 24 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; | 570 | 24 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; | 571 | 24 | SCOPED_TIMER(merge_timer); | 572 | | | 573 | 24 | size_t key_size = _groupby_expr_ctxs.size(); | 574 | 24 | ColumnRawPtrs key_columns(key_size); | 575 | 24 | std::vector<int> key_locs(key_size); | 576 | | | 577 | 24 | if constexpr (for_spill) { | 578 | 48 | for (int i = 0; i < key_size; ++i) { | 579 | 24 | key_columns[i] = block->get_by_position(i).column.get(); | 580 | 24 | key_columns[i]->assume_mutable()->replace_float_special_values(); | 581 | 24 | key_locs[i] = i; | 582 | 24 | } | 583 | | } else { | 584 | | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); | 585 | | } | 586 | | | 587 | 24 | size_t rows = block->rows(); | 588 | 24 | if (_places.size() < rows) { | 589 | 0 | _places.resize(rows); | 590 | 0 | } | 591 | | | 592 | 24 | if (limit && !do_sort_limit) { | 593 | 0 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); | 594 | |
| 595 | 0 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 596 | 0 | if (_agg_evaluators[i]->is_merge()) { | 597 | 0 | int col_id = get_slot_column_id(_agg_evaluators[i]); | 598 | 0 | auto column = block->get_by_position(col_id).column; | 599 | |
| 600 | 0 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 601 | 0 | if (_deserialize_buffer.size() < buffer_size) { | 602 | 0 | _deserialize_buffer.resize(buffer_size); | 603 | 0 | } | 604 | |
| 605 | 0 | { | 606 | 0 | SCOPED_TIMER(deser_timer); | 607 | 0 | _agg_evaluators[i]->function()->deserialize_and_merge_vec_selected( | 608 | 0 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 609 | 0 | column.get(), _agg_arena, rows); | 610 | 0 | } | 611 | 0 | } else { | 612 | 0 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add_selected( | 613 | 0 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 614 | 0 | } | 615 | 0 | } | 616 | 24 | } else { | 617 | 24 | bool need_do_agg = true; | 618 | 24 | if (limit) { | 619 | 0 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, | 620 | 0 | key_columns, (uint32_t)rows); | 621 | 0 | rows = block->rows(); | 622 | 24 | } else { | 623 | 24 | if constexpr (for_spill) { | 624 | 24 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 625 | 24 | _source_hash_table_compute_timer, | 626 | 24 | _source_hash_table_emplace_timer, | 627 | 24 | _source_hash_table_input_counter); | 628 | | } else { | 629 | | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 630 | | _hash_table_compute_timer, _hash_table_emplace_timer, | 631 | | _hash_table_input_counter); | 632 | | } | 633 | 24 | } | 634 | | | 635 | 24 | if (need_do_agg) { | 636 | 48 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 637 | 24 | if (_agg_evaluators[i]->is_merge() || for_spill) { | 638 | 24 | size_t col_id = 0; | 639 | 24 | if constexpr (for_spill) { | 640 | 24 | col_id = _groupby_expr_ctxs.size() + i; | 641 | | } else { | 642 | | col_id = get_slot_column_id(_agg_evaluators[i]); | 643 | | } | 644 | 24 | auto column = block->get_by_position(col_id).column; | 645 | | | 646 | 24 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 647 | 24 | if (_deserialize_buffer.size() < buffer_size) { | 648 | 4 | _deserialize_buffer.resize(buffer_size); | 649 | 4 | } | 650 | | | 651 | 24 | { | 652 | 24 | SCOPED_TIMER(deser_timer); | 653 | 24 | _agg_evaluators[i]->function()->deserialize_and_merge_vec( | 654 | 24 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 655 | 24 | column.get(), _agg_arena, rows); | 656 | 24 | } | 657 | 24 | } else { | 658 | 0 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( | 659 | 0 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 660 | 0 | } | 661 | 24 | } | 662 | 24 | } | 663 | | | 664 | 24 | if (!limit && should_limit_output) { | 665 | 0 | _check_limit_after_emplace_for_merge(); | 666 | 0 | } | 667 | 24 | } | 668 | | | 669 | 24 | return Status::OK(); | 670 | 24 | } |
|
671 | | |
672 | | // Explicit template instantiation |
673 | | template Status GroupByAggContext::_merge_with_serialized_key_helper<true, false>(Block* block); |
674 | | template Status GroupByAggContext::_merge_with_serialized_key_helper<false, false>(Block* block); |
675 | | template Status GroupByAggContext::_merge_with_serialized_key_helper<false, true>(Block* block); |
676 | | |
677 | | // ==================== Result output ==================== |
678 | | |
679 | 43 | Status GroupByAggContext::get_serialized_results(RuntimeState* state, Block* block, bool* eos) { |
680 | 43 | SCOPED_TIMER(_get_results_timer); |
681 | 43 | size_t key_size = _groupby_expr_ctxs.size(); |
682 | 43 | size_t agg_size = _agg_evaluators.size(); |
683 | 43 | MutableColumns value_columns(agg_size); |
684 | 43 | DataTypes value_data_types(agg_size); |
685 | | |
686 | 43 | bool mem_reuse = make_nullable_keys.empty() && block->mem_reuse(); |
687 | | |
688 | 43 | auto key_columns = agg_context_utils::take_or_create_columns( |
689 | 43 | block, mem_reuse, 0, key_size, |
690 | 43 | [&](size_t i) { return _groupby_expr_ctxs[i]->root()->data_type()->create_column(); }); |
691 | | |
692 | 43 | std::visit( |
693 | 43 | Overload { |
694 | 43 | [&](std::monostate& arg) -> void { |
695 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
696 | 0 | }, |
697 | 43 | [&](auto& agg_method) -> void { |
698 | 43 | agg_method.init_iterator(); |
699 | 43 | auto& data = *agg_method.hash_table; |
700 | 43 | const auto size = std::min(data.size(), size_t(state->batch_size())); |
701 | 43 | using KeyType = std::decay_t<decltype(agg_method)>::Key; |
702 | 43 | std::vector<KeyType> keys(size); |
703 | | |
704 | 43 | if (_values.size() < size + 1) { |
705 | 21 | _values.resize(size + 1); |
706 | 21 | } |
707 | | |
708 | 43 | uint32_t num_rows = 0; |
709 | 43 | _agg_data_container->init_once(); |
710 | 43 | auto& iter = _agg_data_container->iterator; |
711 | | |
712 | 43 | { |
713 | 43 | SCOPED_TIMER(_hash_table_iterate_timer); |
714 | 10.0k | while (iter != _agg_data_container->end() && |
715 | 10.0k | num_rows < state->batch_size()) { |
716 | 10.0k | keys[num_rows] = iter.template get_key<KeyType>(); |
717 | 10.0k | _values[num_rows] = iter.get_aggregate_data(); |
718 | 10.0k | ++iter; |
719 | 10.0k | ++num_rows; |
720 | 10.0k | } |
721 | 43 | } |
722 | | |
723 | 43 | { |
724 | 43 | SCOPED_TIMER(_insert_keys_to_column_timer); |
725 | 43 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); |
726 | 43 | } |
727 | | |
728 | 43 | if (iter == _agg_data_container->end()) { |
729 | 43 | if (agg_method.hash_table->has_null_key_data()) { |
730 | 3 | DCHECK(key_columns.size() == 1); |
731 | 3 | DCHECK(key_columns[0]->is_nullable()); |
732 | 3 | key_columns[0]->insert_data(nullptr, 0); |
733 | 3 | _values[num_rows] = |
734 | 3 | agg_method.hash_table->template get_null_key_data< |
735 | 3 | AggregateDataPtr>(); |
736 | 3 | ++num_rows; |
737 | 3 | *eos = true; |
738 | 40 | } else { |
739 | 40 | *eos = true; |
740 | 40 | } |
741 | 43 | } |
742 | | |
743 | 43 | { |
744 | 43 | SCOPED_TIMER(_insert_values_to_column_timer); |
745 | 86 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { |
746 | 43 | value_data_types[i] = |
747 | 43 | _agg_evaluators[i]->function()->get_serialized_type(); |
748 | 43 | if (mem_reuse) { |
749 | 22 | value_columns[i] = |
750 | 22 | std::move(*block->get_by_position(i + key_size).column) |
751 | 22 | .mutate(); |
752 | 22 | } else { |
753 | 21 | value_columns[i] = _agg_evaluators[i] |
754 | 21 | ->function() |
755 | 21 | ->create_serialize_column(); |
756 | 21 | } |
757 | 43 | _agg_evaluators[i]->function()->serialize_to_column( |
758 | 43 | _values, _agg_state_offsets[i], value_columns[i], |
759 | 43 | num_rows); |
760 | 43 | } |
761 | 43 | } |
762 | 43 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashISA_vEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISB_Pc9HashCRC32ISB_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISB_Pc9HashCRC32ISB_EEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ Line | Count | Source | 697 | 34 | [&](auto& agg_method) -> void { | 698 | 34 | agg_method.init_iterator(); | 699 | 34 | auto& data = *agg_method.hash_table; | 700 | 34 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 701 | 34 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 702 | 34 | std::vector<KeyType> keys(size); | 703 | | | 704 | 34 | if (_values.size() < size + 1) { | 705 | 12 | _values.resize(size + 1); | 706 | 12 | } | 707 | | | 708 | 34 | uint32_t num_rows = 0; | 709 | 34 | _agg_data_container->init_once(); | 710 | 34 | auto& iter = _agg_data_container->iterator; | 711 | | | 712 | 34 | { | 713 | 34 | SCOPED_TIMER(_hash_table_iterate_timer); | 714 | 10.0k | while (iter != _agg_data_container->end() && | 715 | 10.0k | num_rows < state->batch_size()) { | 716 | 10.0k | keys[num_rows] = iter.template get_key<KeyType>(); | 717 | 10.0k | _values[num_rows] = iter.get_aggregate_data(); | 718 | 10.0k | ++iter; | 719 | 10.0k | ++num_rows; | 720 | 10.0k | } | 721 | 34 | } | 722 | | | 723 | 34 | { | 724 | 34 | SCOPED_TIMER(_insert_keys_to_column_timer); | 725 | 34 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 726 | 34 | } | 727 | | | 728 | 34 | if (iter == _agg_data_container->end()) { | 729 | 34 | if (agg_method.hash_table->has_null_key_data()) { | 730 | 0 | DCHECK(key_columns.size() == 1); | 731 | 0 | DCHECK(key_columns[0]->is_nullable()); | 732 | 0 | key_columns[0]->insert_data(nullptr, 0); | 733 | 0 | _values[num_rows] = | 734 | 0 | agg_method.hash_table->template get_null_key_data< | 735 | 0 | AggregateDataPtr>(); | 736 | 0 | ++num_rows; | 737 | 0 | *eos = true; | 738 | 34 | } else { | 739 | 34 | *eos = true; | 740 | 34 | } | 741 | 34 | } | 742 | | | 743 | 34 | { | 744 | 34 | SCOPED_TIMER(_insert_values_to_column_timer); | 745 | 68 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { | 746 | 34 | value_data_types[i] = | 747 | 34 | _agg_evaluators[i]->function()->get_serialized_type(); | 748 | 34 | if (mem_reuse) { | 749 | 22 | value_columns[i] = | 750 | 22 | std::move(*block->get_by_position(i + key_size).column) | 751 | 22 | .mutate(); | 752 | 22 | } else { | 753 | 12 | value_columns[i] = _agg_evaluators[i] | 754 | 12 | ->function() | 755 | 12 | ->create_serialize_column(); | 756 | 12 | } | 757 | 34 | _agg_evaluators[i]->function()->serialize_to_column( | 758 | 34 | _values, _agg_state_offsets[i], value_columns[i], | 759 | 34 | num_rows); | 760 | 34 | } | 761 | 34 | } | 762 | 34 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 697 | 6 | [&](auto& agg_method) -> void { | 698 | 6 | agg_method.init_iterator(); | 699 | 6 | auto& data = *agg_method.hash_table; | 700 | 6 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 701 | 6 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 702 | 6 | std::vector<KeyType> keys(size); | 703 | | | 704 | 6 | if (_values.size() < size + 1) { | 705 | 6 | _values.resize(size + 1); | 706 | 6 | } | 707 | | | 708 | 6 | uint32_t num_rows = 0; | 709 | 6 | _agg_data_container->init_once(); | 710 | 6 | auto& iter = _agg_data_container->iterator; | 711 | | | 712 | 6 | { | 713 | 6 | SCOPED_TIMER(_hash_table_iterate_timer); | 714 | 30 | while (iter != _agg_data_container->end() && | 715 | 30 | num_rows < state->batch_size()) { | 716 | 24 | keys[num_rows] = iter.template get_key<KeyType>(); | 717 | 24 | _values[num_rows] = iter.get_aggregate_data(); | 718 | 24 | ++iter; | 719 | 24 | ++num_rows; | 720 | 24 | } | 721 | 6 | } | 722 | | | 723 | 6 | { | 724 | 6 | SCOPED_TIMER(_insert_keys_to_column_timer); | 725 | 6 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 726 | 6 | } | 727 | | | 728 | 6 | if (iter == _agg_data_container->end()) { | 729 | 6 | if (agg_method.hash_table->has_null_key_data()) { | 730 | 0 | DCHECK(key_columns.size() == 1); | 731 | 0 | DCHECK(key_columns[0]->is_nullable()); | 732 | 0 | key_columns[0]->insert_data(nullptr, 0); | 733 | 0 | _values[num_rows] = | 734 | 0 | agg_method.hash_table->template get_null_key_data< | 735 | 0 | AggregateDataPtr>(); | 736 | 0 | ++num_rows; | 737 | 0 | *eos = true; | 738 | 6 | } else { | 739 | 6 | *eos = true; | 740 | 6 | } | 741 | 6 | } | 742 | | | 743 | 6 | { | 744 | 6 | SCOPED_TIMER(_insert_values_to_column_timer); | 745 | 12 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { | 746 | 6 | value_data_types[i] = | 747 | 6 | _agg_evaluators[i]->function()->get_serialized_type(); | 748 | 6 | if (mem_reuse) { | 749 | 0 | value_columns[i] = | 750 | 0 | std::move(*block->get_by_position(i + key_size).column) | 751 | 0 | .mutate(); | 752 | 6 | } else { | 753 | 6 | value_columns[i] = _agg_evaluators[i] | 754 | 6 | ->function() | 755 | 6 | ->create_serialize_column(); | 756 | 6 | } | 757 | 6 | _agg_evaluators[i]->function()->serialize_to_column( | 758 | 6 | _values, _agg_state_offsets[i], value_columns[i], | 759 | 6 | num_rows); | 760 | 6 | } | 761 | 6 | } | 762 | 6 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Line | Count | Source | 697 | 3 | [&](auto& agg_method) -> void { | 698 | 3 | agg_method.init_iterator(); | 699 | 3 | auto& data = *agg_method.hash_table; | 700 | 3 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 701 | 3 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 702 | 3 | std::vector<KeyType> keys(size); | 703 | | | 704 | 3 | if (_values.size() < size + 1) { | 705 | 3 | _values.resize(size + 1); | 706 | 3 | } | 707 | | | 708 | 3 | uint32_t num_rows = 0; | 709 | 3 | _agg_data_container->init_once(); | 710 | 3 | auto& iter = _agg_data_container->iterator; | 711 | | | 712 | 3 | { | 713 | 3 | SCOPED_TIMER(_hash_table_iterate_timer); | 714 | 11 | while (iter != _agg_data_container->end() && | 715 | 11 | num_rows < state->batch_size()) { | 716 | 8 | keys[num_rows] = iter.template get_key<KeyType>(); | 717 | 8 | _values[num_rows] = iter.get_aggregate_data(); | 718 | 8 | ++iter; | 719 | 8 | ++num_rows; | 720 | 8 | } | 721 | 3 | } | 722 | | | 723 | 3 | { | 724 | 3 | SCOPED_TIMER(_insert_keys_to_column_timer); | 725 | 3 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 726 | 3 | } | 727 | | | 728 | 3 | if (iter == _agg_data_container->end()) { | 729 | 3 | if (agg_method.hash_table->has_null_key_data()) { | 730 | 3 | DCHECK(key_columns.size() == 1); | 731 | 3 | DCHECK(key_columns[0]->is_nullable()); | 732 | 3 | key_columns[0]->insert_data(nullptr, 0); | 733 | 3 | _values[num_rows] = | 734 | 3 | agg_method.hash_table->template get_null_key_data< | 735 | 3 | AggregateDataPtr>(); | 736 | 3 | ++num_rows; | 737 | 3 | *eos = true; | 738 | 3 | } else { | 739 | 0 | *eos = true; | 740 | 0 | } | 741 | 3 | } | 742 | | | 743 | 3 | { | 744 | 3 | SCOPED_TIMER(_insert_values_to_column_timer); | 745 | 6 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { | 746 | 3 | value_data_types[i] = | 747 | 3 | _agg_evaluators[i]->function()->get_serialized_type(); | 748 | 3 | if (mem_reuse) { | 749 | 0 | value_columns[i] = | 750 | 0 | std::move(*block->get_by_position(i + key_size).column) | 751 | 0 | .mutate(); | 752 | 3 | } else { | 753 | 3 | value_columns[i] = _agg_evaluators[i] | 754 | 3 | ->function() | 755 | 3 | ->create_serialize_column(); | 756 | 3 | } | 757 | 3 | _agg_evaluators[i]->function()->serialize_to_column( | 758 | 3 | _values, _agg_state_offsets[i], value_columns[i], | 759 | 3 | num_rows); | 760 | 3 | } | 761 | 3 | } | 762 | 3 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISC_Pc9HashCRC32ISC_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISC_Pc9HashCRC32ISC_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32ISA_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32ISA_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32ISA_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32ISC_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32ISA_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32ISC_EEEEEEvRT_ |
763 | 43 | _hash_table_data->method_variant); |
764 | | |
765 | 43 | if (!mem_reuse) { |
766 | 21 | agg_context_utils::build_serialized_output_block(block, key_columns, _groupby_expr_ctxs, |
767 | 21 | value_columns, value_data_types); |
768 | 21 | } |
769 | | |
770 | 43 | return Status::OK(); |
771 | 43 | } |
772 | | |
773 | | Status GroupByAggContext::get_finalized_results(RuntimeState* state, Block* block, bool* eos, |
774 | 11 | const ColumnsWithTypeAndName& columns_with_schema) { |
775 | 11 | bool mem_reuse = make_nullable_keys.empty() && block->mem_reuse(); |
776 | | |
777 | 11 | size_t key_size = _groupby_expr_ctxs.size(); |
778 | | |
779 | 11 | auto key_columns = agg_context_utils::take_or_create_columns( |
780 | 11 | block, mem_reuse, 0, key_size, |
781 | 11 | [&](size_t i) { return columns_with_schema[i].type->create_column(); }); |
782 | 11 | auto value_columns = agg_context_utils::take_or_create_columns( |
783 | 11 | block, mem_reuse, key_size, columns_with_schema.size() - key_size, |
784 | 11 | [&](size_t i) { return columns_with_schema[key_size + i].type->create_column(); }); |
785 | | |
786 | 11 | SCOPED_TIMER(_get_results_timer); |
787 | 11 | std::visit( |
788 | 11 | Overload { |
789 | 11 | [&](std::monostate& arg) -> void { |
790 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
791 | 0 | }, |
792 | 11 | [&](auto& agg_method) -> void { |
793 | 11 | auto& data = *agg_method.hash_table; |
794 | 11 | agg_method.init_iterator(); |
795 | 11 | const auto size = std::min(data.size(), size_t(state->batch_size())); |
796 | 11 | using KeyType = std::decay_t<decltype(agg_method)>::Key; |
797 | 11 | std::vector<KeyType> keys(size); |
798 | | |
799 | 11 | if (_values.size() < size) { |
800 | 11 | _values.resize(size); |
801 | 11 | } |
802 | | |
803 | 11 | uint32_t num_rows = 0; |
804 | 11 | _agg_data_container->init_once(); |
805 | 11 | auto& iter = _agg_data_container->iterator; |
806 | | |
807 | 11 | { |
808 | 11 | SCOPED_TIMER(_hash_table_iterate_timer); |
809 | 56 | while (iter != _agg_data_container->end() && |
810 | 56 | num_rows < state->batch_size()) { |
811 | 45 | keys[num_rows] = iter.template get_key<KeyType>(); |
812 | 45 | _values[num_rows] = iter.get_aggregate_data(); |
813 | 45 | ++iter; |
814 | 45 | ++num_rows; |
815 | 45 | } |
816 | 11 | } |
817 | | |
818 | 11 | { |
819 | 11 | SCOPED_TIMER(_insert_keys_to_column_timer); |
820 | 11 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); |
821 | 11 | } |
822 | | |
823 | 22 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { |
824 | 11 | _agg_evaluators[i]->insert_result_info_vec( |
825 | 11 | _values, _agg_state_offsets[i], value_columns[i].get(), |
826 | 11 | num_rows); |
827 | 11 | } |
828 | | |
829 | 11 | if (iter == _agg_data_container->end()) { |
830 | 11 | if (agg_method.hash_table->has_null_key_data()) { |
831 | 3 | DCHECK(key_columns.size() == 1); |
832 | 3 | DCHECK(key_columns[0]->is_nullable()); |
833 | 3 | if (key_columns[0]->size() < state->batch_size()) { |
834 | 3 | key_columns[0]->insert_data(nullptr, 0); |
835 | 3 | auto mapped = |
836 | 3 | agg_method.hash_table->template get_null_key_data< |
837 | 3 | AggregateDataPtr>(); |
838 | 6 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { |
839 | 3 | _agg_evaluators[i]->insert_result_info( |
840 | 3 | mapped + _agg_state_offsets[i], |
841 | 3 | value_columns[i].get()); |
842 | 3 | } |
843 | 3 | *eos = true; |
844 | 3 | } |
845 | 8 | } else { |
846 | 8 | *eos = true; |
847 | 8 | } |
848 | 11 | } |
849 | 11 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashISG_vEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISH_Pc9HashCRC32ISH_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISH_Pc9HashCRC32ISH_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 792 | 8 | [&](auto& agg_method) -> void { | 793 | 8 | auto& data = *agg_method.hash_table; | 794 | 8 | agg_method.init_iterator(); | 795 | 8 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 796 | 8 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 797 | 8 | std::vector<KeyType> keys(size); | 798 | | | 799 | 8 | if (_values.size() < size) { | 800 | 8 | _values.resize(size); | 801 | 8 | } | 802 | | | 803 | 8 | uint32_t num_rows = 0; | 804 | 8 | _agg_data_container->init_once(); | 805 | 8 | auto& iter = _agg_data_container->iterator; | 806 | | | 807 | 8 | { | 808 | 8 | SCOPED_TIMER(_hash_table_iterate_timer); | 809 | 39 | while (iter != _agg_data_container->end() && | 810 | 39 | num_rows < state->batch_size()) { | 811 | 31 | keys[num_rows] = iter.template get_key<KeyType>(); | 812 | 31 | _values[num_rows] = iter.get_aggregate_data(); | 813 | 31 | ++iter; | 814 | 31 | ++num_rows; | 815 | 31 | } | 816 | 8 | } | 817 | | | 818 | 8 | { | 819 | 8 | SCOPED_TIMER(_insert_keys_to_column_timer); | 820 | 8 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 821 | 8 | } | 822 | | | 823 | 16 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { | 824 | 8 | _agg_evaluators[i]->insert_result_info_vec( | 825 | 8 | _values, _agg_state_offsets[i], value_columns[i].get(), | 826 | 8 | num_rows); | 827 | 8 | } | 828 | | | 829 | 8 | if (iter == _agg_data_container->end()) { | 830 | 8 | if (agg_method.hash_table->has_null_key_data()) { | 831 | 0 | DCHECK(key_columns.size() == 1); | 832 | 0 | DCHECK(key_columns[0]->is_nullable()); | 833 | 0 | if (key_columns[0]->size() < state->batch_size()) { | 834 | 0 | key_columns[0]->insert_data(nullptr, 0); | 835 | 0 | auto mapped = | 836 | 0 | agg_method.hash_table->template get_null_key_data< | 837 | 0 | AggregateDataPtr>(); | 838 | 0 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { | 839 | 0 | _agg_evaluators[i]->insert_result_info( | 840 | 0 | mapped + _agg_state_offsets[i], | 841 | 0 | value_columns[i].get()); | 842 | 0 | } | 843 | 0 | *eos = true; | 844 | 0 | } | 845 | 8 | } else { | 846 | 8 | *eos = true; | 847 | 8 | } | 848 | 8 | } | 849 | 8 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEvRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Line | Count | Source | 792 | 3 | [&](auto& agg_method) -> void { | 793 | 3 | auto& data = *agg_method.hash_table; | 794 | 3 | agg_method.init_iterator(); | 795 | 3 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 796 | 3 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 797 | 3 | std::vector<KeyType> keys(size); | 798 | | | 799 | 3 | if (_values.size() < size) { | 800 | 3 | _values.resize(size); | 801 | 3 | } | 802 | | | 803 | 3 | uint32_t num_rows = 0; | 804 | 3 | _agg_data_container->init_once(); | 805 | 3 | auto& iter = _agg_data_container->iterator; | 806 | | | 807 | 3 | { | 808 | 3 | SCOPED_TIMER(_hash_table_iterate_timer); | 809 | 17 | while (iter != _agg_data_container->end() && | 810 | 17 | num_rows < state->batch_size()) { | 811 | 14 | keys[num_rows] = iter.template get_key<KeyType>(); | 812 | 14 | _values[num_rows] = iter.get_aggregate_data(); | 813 | 14 | ++iter; | 814 | 14 | ++num_rows; | 815 | 14 | } | 816 | 3 | } | 817 | | | 818 | 3 | { | 819 | 3 | SCOPED_TIMER(_insert_keys_to_column_timer); | 820 | 3 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 821 | 3 | } | 822 | | | 823 | 6 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { | 824 | 3 | _agg_evaluators[i]->insert_result_info_vec( | 825 | 3 | _values, _agg_state_offsets[i], value_columns[i].get(), | 826 | 3 | num_rows); | 827 | 3 | } | 828 | | | 829 | 3 | if (iter == _agg_data_container->end()) { | 830 | 3 | if (agg_method.hash_table->has_null_key_data()) { | 831 | 3 | DCHECK(key_columns.size() == 1); | 832 | 3 | DCHECK(key_columns[0]->is_nullable()); | 833 | 3 | if (key_columns[0]->size() < state->batch_size()) { | 834 | 3 | key_columns[0]->insert_data(nullptr, 0); | 835 | 3 | auto mapped = | 836 | 3 | agg_method.hash_table->template get_null_key_data< | 837 | 3 | AggregateDataPtr>(); | 838 | 6 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { | 839 | 3 | _agg_evaluators[i]->insert_result_info( | 840 | 3 | mapped + _agg_state_offsets[i], | 841 | 3 | value_columns[i].get()); | 842 | 3 | } | 843 | 3 | *eos = true; | 844 | 3 | } | 845 | 3 | } else { | 846 | 0 | *eos = true; | 847 | 0 | } | 848 | 3 | } | 849 | 3 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISI_Pc9HashCRC32ISI_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISI_Pc9HashCRC32ISI_EEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32ISG_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32ISG_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32ISG_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32ISI_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32ISG_EEEEEEvRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32ISI_EEEEEEvRT_ |
850 | 11 | _hash_table_data->method_variant); |
851 | | |
852 | 11 | if (!mem_reuse) { |
853 | 11 | agg_context_utils::assemble_finalized_output(block, columns_with_schema, key_columns, |
854 | 11 | value_columns, key_size); |
855 | 11 | } |
856 | | |
857 | 11 | return Status::OK(); |
858 | 11 | } |
859 | | |
860 | | // ==================== Sort limit ==================== |
861 | | |
862 | 4 | MutableColumns GroupByAggContext::_get_keys_hash_table() { |
863 | 4 | return std::visit( |
864 | 4 | Overload {[&](std::monostate& arg) { |
865 | 0 | throw doris::Exception(ErrorCode::INTERNAL_ERROR, "uninited hash table"); |
866 | 0 | return MutableColumns(); |
867 | 0 | }, |
868 | 4 | [&](auto&& agg_method) -> MutableColumns { |
869 | 4 | MutableColumns key_columns; |
870 | 8 | for (int i = 0; i < _groupby_expr_ctxs.size(); ++i) { |
871 | 4 | key_columns.emplace_back( |
872 | 4 | _groupby_expr_ctxs[i]->root()->data_type()->create_column()); |
873 | 4 | } |
874 | 4 | auto& data = *agg_method.hash_table; |
875 | 4 | bool has_null_key = data.has_null_key_data(); |
876 | 4 | const auto size = data.size() - has_null_key; |
877 | 4 | using KeyType = std::decay_t<decltype(agg_method)>::Key; |
878 | 4 | std::vector<KeyType> keys(size); |
879 | | |
880 | 4 | uint32_t num_rows = 0; |
881 | 4 | auto iter = _agg_data_container->begin(); |
882 | 4 | { |
883 | 27 | while (iter != _agg_data_container->end()) { |
884 | 23 | keys[num_rows] = iter.get_key<KeyType>(); |
885 | 23 | ++iter; |
886 | 23 | ++num_rows; |
887 | 23 | } |
888 | 4 | } |
889 | 4 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); |
890 | 4 | if (has_null_key) { |
891 | 1 | key_columns[0]->insert_data(nullptr, 0); |
892 | 1 | } |
893 | 4 | return key_columns; |
894 | 4 | }}, Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISF_EESaISI_EEOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISF_EESaISI_EEOT_ Line | Count | Source | 868 | 2 | [&](auto&& agg_method) -> MutableColumns { | 869 | 2 | MutableColumns key_columns; | 870 | 4 | for (int i = 0; i < _groupby_expr_ctxs.size(); ++i) { | 871 | 2 | key_columns.emplace_back( | 872 | 2 | _groupby_expr_ctxs[i]->root()->data_type()->create_column()); | 873 | 2 | } | 874 | 2 | auto& data = *agg_method.hash_table; | 875 | 2 | bool has_null_key = data.has_null_key_data(); | 876 | 2 | const auto size = data.size() - has_null_key; | 877 | 2 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 878 | 2 | std::vector<KeyType> keys(size); | 879 | | | 880 | 2 | uint32_t num_rows = 0; | 881 | 2 | auto iter = _agg_data_container->begin(); | 882 | 2 | { | 883 | 14 | while (iter != _agg_data_container->end()) { | 884 | 12 | keys[num_rows] = iter.get_key<KeyType>(); | 885 | 12 | ++iter; | 886 | 12 | ++num_rows; | 887 | 12 | } | 888 | 2 | } | 889 | 2 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 890 | 2 | if (has_null_key) { | 891 | 0 | key_columns[0]->insert_data(nullptr, 0); | 892 | 0 | } | 893 | 2 | return key_columns; | 894 | 2 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISJ_EESaISM_EEOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISJ_EESaISM_EEOT_ Line | Count | Source | 868 | 2 | [&](auto&& agg_method) -> MutableColumns { | 869 | 2 | MutableColumns key_columns; | 870 | 4 | for (int i = 0; i < _groupby_expr_ctxs.size(); ++i) { | 871 | 2 | key_columns.emplace_back( | 872 | 2 | _groupby_expr_ctxs[i]->root()->data_type()->create_column()); | 873 | 2 | } | 874 | 2 | auto& data = *agg_method.hash_table; | 875 | 2 | bool has_null_key = data.has_null_key_data(); | 876 | 2 | const auto size = data.size() - has_null_key; | 877 | 2 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 878 | 2 | std::vector<KeyType> keys(size); | 879 | | | 880 | 2 | uint32_t num_rows = 0; | 881 | 2 | auto iter = _agg_data_container->begin(); | 882 | 2 | { | 883 | 13 | while (iter != _agg_data_container->end()) { | 884 | 11 | keys[num_rows] = iter.get_key<KeyType>(); | 885 | 11 | ++iter; | 886 | 11 | ++num_rows; | 887 | 11 | } | 888 | 2 | } | 889 | 2 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 890 | 2 | if (has_null_key) { | 891 | 1 | key_columns[0]->insert_data(nullptr, 0); | 892 | 1 | } | 893 | 2 | return key_columns; | 894 | 2 | }}, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISK_EESaISN_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISK_EESaISN_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISI_EESaISL_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_1clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ |
895 | 4 | _hash_table_data->method_variant); |
896 | 4 | } |
897 | | |
898 | 4 | void GroupByAggContext::build_limit_heap(size_t hash_table_size_val) { |
899 | 4 | _limit_columns = _get_keys_hash_table(); |
900 | 28 | for (size_t i = 0; i < hash_table_size_val; ++i) { |
901 | 24 | _limit_heap.emplace(i, _limit_columns, order_directions, null_directions); |
902 | 24 | } |
903 | 16 | while (hash_table_size_val > limit) { |
904 | 12 | _limit_heap.pop(); |
905 | 12 | hash_table_size_val--; |
906 | 12 | } |
907 | 4 | _limit_columns_min = _limit_heap.top()._row_id; |
908 | 4 | } |
909 | | |
910 | 8 | bool GroupByAggContext::do_limit_filter(size_t num_rows, const ColumnRawPtrs& key_columns) { |
911 | 8 | if (num_rows) { |
912 | 8 | _cmp_res.resize(num_rows); |
913 | 8 | _need_computes.resize(num_rows); |
914 | 8 | memset(_need_computes.data(), 0, _need_computes.size()); |
915 | 8 | memset(_cmp_res.data(), 0, _cmp_res.size()); |
916 | | |
917 | 8 | const auto key_size = null_directions.size(); |
918 | 16 | for (int i = 0; i < key_size; i++) { |
919 | 8 | key_columns[i]->compare_internal(_limit_columns_min, *_limit_columns[i], |
920 | 8 | null_directions[i], order_directions[i], _cmp_res, |
921 | 8 | _need_computes.data()); |
922 | 8 | } |
923 | | |
924 | 8 | auto set_computes_arr = [](auto* __restrict res, auto* __restrict computes, size_t rows) { |
925 | 58 | for (size_t i = 0; i < rows; ++i) { |
926 | 50 | computes[i] = computes[i] == res[i]; |
927 | 50 | } |
928 | 8 | }; |
929 | 8 | set_computes_arr(_cmp_res.data(), _need_computes.data(), num_rows); |
930 | | |
931 | 8 | return std::find(_need_computes.begin(), _need_computes.end(), 0) != _need_computes.end(); |
932 | 8 | } |
933 | | |
934 | 0 | return false; |
935 | 8 | } |
936 | | |
937 | 4 | void GroupByAggContext::refresh_top_limit(size_t row_id, const ColumnRawPtrs& key_columns) { |
938 | 8 | for (int j = 0; j < key_columns.size(); ++j) { |
939 | 4 | _limit_columns[j]->insert_from(*key_columns[j], row_id); |
940 | 4 | } |
941 | 4 | _limit_heap.emplace(_limit_columns[0]->size() - 1, _limit_columns, order_directions, |
942 | 4 | null_directions); |
943 | | |
944 | 4 | _limit_heap.pop(); |
945 | 4 | _limit_columns_min = _limit_heap.top()._row_id; |
946 | 4 | } |
947 | | |
948 | 0 | void GroupByAggContext::add_limit_heap_top(ColumnRawPtrs& key_columns, size_t rows) { |
949 | 0 | for (size_t i = 0; i < rows; ++i) { |
950 | 0 | if (_cmp_res[i] == 1 && _need_computes[i]) { |
951 | 0 | for (size_t j = 0; j < key_columns.size(); ++j) { |
952 | 0 | _limit_columns[j]->insert_from(*key_columns[j], i); |
953 | 0 | } |
954 | 0 | _limit_heap.emplace(_limit_columns[0]->size() - 1, _limit_columns, order_directions, |
955 | 0 | null_directions); |
956 | 0 | _limit_heap.pop(); |
957 | 0 | _limit_columns_min = _limit_heap.top()._row_id; |
958 | 0 | break; |
959 | 0 | } |
960 | 0 | } |
961 | 0 | } |
962 | | |
963 | | // ==================== Static utilities ==================== |
964 | | |
965 | | void GroupByAggContext::make_nullable_output_key(Block* block, |
966 | 0 | const std::vector<size_t>& make_nullable_keys) { |
967 | 0 | if (block->rows() != 0) { |
968 | 0 | for (auto cid : make_nullable_keys) { |
969 | 0 | block->get_by_position(cid).column = make_nullable(block->get_by_position(cid).column); |
970 | 0 | block->get_by_position(cid).type = make_nullable(block->get_by_position(cid).type); |
971 | 0 | } |
972 | 0 | } |
973 | 0 | } |
974 | | |
975 | 6 | int GroupByAggContext::get_slot_column_id(const AggFnEvaluator* evaluator) { |
976 | 6 | return agg_context_utils::get_slot_column_id(evaluator); |
977 | 6 | } |
978 | | |
979 | | } // namespace doris |