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 "exec/operator/streaming_agg_min_reduction.h" |
30 | | #include "exprs/vectorized_agg_fn.h" |
31 | | #include "exprs/vexpr_context.h" |
32 | | #include "exprs/vslot_ref.h" |
33 | | #include "runtime/runtime_state.h" |
34 | | |
35 | | namespace doris { |
36 | | |
37 | | GroupByAggContext::GroupByAggContext(std::vector<AggFnEvaluator*> agg_evaluators, |
38 | | VExprContextSPtrs groupby_expr_ctxs, Sizes agg_state_offsets, |
39 | | size_t total_agg_state_size, size_t agg_state_alignment, |
40 | | bool is_first_phase) |
41 | 50 | : _hash_table_data(std::make_unique<AggregatedDataVariants>()), |
42 | 50 | _agg_evaluators(std::move(agg_evaluators)), |
43 | 50 | _groupby_expr_ctxs(std::move(groupby_expr_ctxs)), |
44 | 50 | _agg_state_offsets(std::move(agg_state_offsets)), |
45 | 50 | _total_agg_state_size(total_agg_state_size), |
46 | 50 | _agg_state_alignment(agg_state_alignment), |
47 | 50 | _is_first_phase(is_first_phase) {} |
48 | | |
49 | 50 | GroupByAggContext::~GroupByAggContext() = default; |
50 | | |
51 | | // ==================== Profile initialization ==================== |
52 | | |
53 | 43 | void GroupByAggContext::init_sink_profile(RuntimeProfile* profile) { |
54 | 43 | _hash_table_compute_timer = ADD_TIMER(profile, "HashTableComputeTime"); |
55 | 43 | _hash_table_emplace_timer = ADD_TIMER(profile, "HashTableEmplaceTime"); |
56 | 43 | _hash_table_input_counter = ADD_COUNTER(profile, "HashTableInputCount", TUnit::UNIT); |
57 | 43 | _hash_table_limit_compute_timer = ADD_TIMER(profile, "DoLimitComputeTime"); |
58 | 43 | _build_timer = ADD_TIMER(profile, "BuildTime"); |
59 | 43 | _merge_timer = ADD_TIMER(profile, "MergeTime"); |
60 | 43 | _expr_timer = ADD_TIMER(profile, "ExprTime"); |
61 | 43 | _deserialize_data_timer = ADD_TIMER(profile, "DeserializeAndMergeTime"); |
62 | 43 | _hash_table_size_counter = ADD_COUNTER(profile, "HashTableSize", TUnit::UNIT); |
63 | 43 | _hash_table_memory_usage = |
64 | 43 | ADD_COUNTER_WITH_LEVEL(profile, "MemoryUsageHashTable", TUnit::BYTES, 1); |
65 | 43 | _serialize_key_arena_memory_usage = |
66 | 43 | ADD_COUNTER_WITH_LEVEL(profile, "MemoryUsageSerializeKeyArena", TUnit::BYTES, 1); |
67 | 43 | _memory_usage_container = ADD_COUNTER(profile, "MemoryUsageContainer", TUnit::BYTES); |
68 | 43 | _memory_usage_arena = ADD_COUNTER(profile, "MemoryUsageArena", TUnit::BYTES); |
69 | 43 | _memory_used_counter = profile->get_counter("MemoryUsage"); |
70 | 43 | } |
71 | | |
72 | 13 | void GroupByAggContext::init_source_profile(RuntimeProfile* profile) { |
73 | 13 | _get_results_timer = ADD_TIMER(profile, "GetResultsTime"); |
74 | 13 | _hash_table_iterate_timer = ADD_TIMER(profile, "HashTableIterateTime"); |
75 | 13 | _insert_keys_to_column_timer = ADD_TIMER(profile, "InsertKeysToColumnTime"); |
76 | 13 | _insert_values_to_column_timer = ADD_TIMER(profile, "InsertValuesToColumnTime"); |
77 | | |
78 | | // Register overlapping counters on source profile (same names as sink, for |
79 | | // PartitionedAggLocalState::_update_profile to read from inner source profile). |
80 | 13 | _source_merge_timer = ADD_TIMER(profile, "MergeTime"); |
81 | 13 | _source_deserialize_data_timer = ADD_TIMER(profile, "DeserializeAndMergeTime"); |
82 | 13 | _source_hash_table_compute_timer = ADD_TIMER(profile, "HashTableComputeTime"); |
83 | 13 | _source_hash_table_emplace_timer = ADD_TIMER(profile, "HashTableEmplaceTime"); |
84 | 13 | _source_hash_table_input_counter = ADD_COUNTER(profile, "HashTableInputCount", TUnit::UNIT); |
85 | 13 | _source_hash_table_size_counter = ADD_COUNTER(profile, "HashTableSize", TUnit::UNIT); |
86 | 13 | _source_hash_table_memory_usage = |
87 | 13 | ADD_COUNTER_WITH_LEVEL(profile, "MemoryUsageHashTable", TUnit::BYTES, 1); |
88 | 13 | _source_memory_usage_container = ADD_COUNTER(profile, "MemoryUsageContainer", TUnit::BYTES); |
89 | 13 | _source_memory_usage_arena = ADD_COUNTER(profile, "MemoryUsageArena", TUnit::BYTES); |
90 | 13 | } |
91 | | |
92 | | // ==================== Hash table management ==================== |
93 | | |
94 | 43 | void GroupByAggContext::init_hash_method() { |
95 | 43 | auto st = doris::init_hash_method<AggregatedDataVariants>( |
96 | 43 | _hash_table_data.get(), get_data_types(_groupby_expr_ctxs), _is_first_phase); |
97 | 43 | if (!st.ok()) { |
98 | 0 | throw Exception(st.code(), st.to_string()); |
99 | 0 | } |
100 | 43 | } |
101 | | |
102 | 43 | void GroupByAggContext::init_agg_data_container() { |
103 | 43 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { |
104 | 43 | using HashTableType = std::decay_t<decltype(agg_method)>; |
105 | 43 | using KeyType = typename HashTableType::Key; |
106 | 43 | _agg_data_container = std::make_unique<AggregateDataContainer>( |
107 | 43 | sizeof(KeyType), |
108 | 43 | ((_total_agg_state_size + _agg_state_alignment - 1) / _agg_state_alignment) * |
109 | 43 | _agg_state_alignment); |
110 | 43 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 103 | 19 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 104 | 19 | using HashTableType = std::decay_t<decltype(agg_method)>; | 105 | 19 | using KeyType = typename HashTableType::Key; | 106 | 19 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 107 | 19 | sizeof(KeyType), | 108 | 19 | ((_total_agg_state_size + _agg_state_alignment - 1) / _agg_state_alignment) * | 109 | 19 | _agg_state_alignment); | 110 | 19 | }); |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 103 | 16 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 104 | 16 | using HashTableType = std::decay_t<decltype(agg_method)>; | 105 | 16 | using KeyType = typename HashTableType::Key; | 106 | 16 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 107 | 16 | sizeof(KeyType), | 108 | 16 | ((_total_agg_state_size + _agg_state_alignment - 1) / _agg_state_alignment) * | 109 | 16 | _agg_state_alignment); | 110 | 16 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Line | Count | Source | 103 | 1 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 104 | 1 | using HashTableType = std::decay_t<decltype(agg_method)>; | 105 | 1 | using KeyType = typename HashTableType::Key; | 106 | 1 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 107 | 1 | sizeof(KeyType), | 108 | 1 | ((_total_agg_state_size + _agg_state_alignment - 1) / _agg_state_alignment) * | 109 | 1 | _agg_state_alignment); | 110 | 1 | }); |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 103 | 7 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 104 | 7 | using HashTableType = std::decay_t<decltype(agg_method)>; | 105 | 7 | using KeyType = typename HashTableType::Key; | 106 | 7 | _agg_data_container = std::make_unique<AggregateDataContainer>( | 107 | 7 | sizeof(KeyType), | 108 | 7 | ((_total_agg_state_size + _agg_state_alignment - 1) / _agg_state_alignment) * | 109 | 7 | _agg_state_alignment); | 110 | 7 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23init_agg_data_containerEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEDaRT_ |
111 | 43 | } |
112 | | |
113 | 124 | size_t GroupByAggContext::hash_table_size() const { |
114 | 124 | return std::visit(Overload {[&](std::monostate& arg) -> size_t { return 0; }, |
115 | 124 | [&](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 | 115 | 84 | [&](auto& agg_method) { return agg_method.hash_table->size(); }}, |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 115 | 19 | [&](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 | 115 | 11 | [&](auto& agg_method) { return agg_method.hash_table->size(); }}, |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext15hash_table_sizeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 115 | 10 | [&](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_ |
116 | 124 | _hash_table_data->method_variant); |
117 | 124 | } |
118 | | |
119 | 41 | size_t GroupByAggContext::memory_usage() const { |
120 | 41 | if (hash_table_size() == 0) { |
121 | 7 | return 0; |
122 | 7 | } |
123 | 34 | size_t usage = 0; |
124 | 34 | usage += _agg_arena.size(); |
125 | | |
126 | 34 | if (_agg_data_container) { |
127 | 34 | usage += _agg_data_container->memory_usage(); |
128 | 34 | } |
129 | | |
130 | 34 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { |
131 | 34 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); |
132 | 34 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 130 | 28 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 131 | 28 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 132 | 28 | }); |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 130 | 1 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 131 | 1 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 132 | 1 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Line | Count | Source | 130 | 4 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 131 | 4 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 132 | 4 | }); |
groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 130 | 1 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 131 | 1 | usage += agg_method.hash_table->get_buffer_size_in_bytes(); | 132 | 1 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZNK5doris17GroupByAggContext12memory_usageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEDaRT_ |
133 | | |
134 | 34 | return usage; |
135 | 41 | } |
136 | | |
137 | 60 | void GroupByAggContext::update_memusage() { |
138 | 60 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { |
139 | 60 | auto& data = *agg_method.hash_table; |
140 | 60 | int64_t memory_usage_arena = _agg_arena.size(); |
141 | 60 | int64_t memory_usage_container = |
142 | 60 | _agg_data_container ? _agg_data_container->memory_usage() : 0; |
143 | 60 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); |
144 | 60 | auto ht_size = static_cast<int64_t>(data.size()); |
145 | | |
146 | 60 | using agg_context_utils::set_counter_if; |
147 | | // Update sink-side counters |
148 | 60 | set_counter_if(_memory_usage_arena, memory_usage_arena); |
149 | 60 | set_counter_if(_memory_usage_container, memory_usage_container); |
150 | 60 | set_counter_if(_hash_table_memory_usage, hash_table_memory_usage); |
151 | 60 | set_counter_if(_hash_table_size_counter, ht_size); |
152 | 60 | set_counter_if(_serialize_key_arena_memory_usage, |
153 | 60 | memory_usage_arena + memory_usage_container); |
154 | 60 | set_counter_if(_memory_used_counter, |
155 | 60 | memory_usage_arena + memory_usage_container + hash_table_memory_usage); |
156 | | |
157 | | // Update source-side counters (for PartitionedAgg source profile) |
158 | 60 | set_counter_if(_source_memory_usage_arena, memory_usage_arena); |
159 | 60 | set_counter_if(_source_memory_usage_container, memory_usage_container); |
160 | 60 | set_counter_if(_source_hash_table_memory_usage, hash_table_memory_usage); |
161 | 60 | set_counter_if(_source_hash_table_size_counter, ht_size); |
162 | 60 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 138 | 25 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 139 | 25 | auto& data = *agg_method.hash_table; | 140 | 25 | int64_t memory_usage_arena = _agg_arena.size(); | 141 | 25 | int64_t memory_usage_container = | 142 | 25 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 143 | 25 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 144 | 25 | auto ht_size = static_cast<int64_t>(data.size()); | 145 | | | 146 | 25 | using agg_context_utils::set_counter_if; | 147 | | // Update sink-side counters | 148 | 25 | set_counter_if(_memory_usage_arena, memory_usage_arena); | 149 | 25 | set_counter_if(_memory_usage_container, memory_usage_container); | 150 | 25 | set_counter_if(_hash_table_memory_usage, hash_table_memory_usage); | 151 | 25 | set_counter_if(_hash_table_size_counter, ht_size); | 152 | 25 | set_counter_if(_serialize_key_arena_memory_usage, | 153 | 25 | memory_usage_arena + memory_usage_container); | 154 | 25 | set_counter_if(_memory_used_counter, | 155 | 25 | memory_usage_arena + memory_usage_container + hash_table_memory_usage); | 156 | | | 157 | | // Update source-side counters (for PartitionedAgg source profile) | 158 | 25 | set_counter_if(_source_memory_usage_arena, memory_usage_arena); | 159 | 25 | set_counter_if(_source_memory_usage_container, memory_usage_container); | 160 | 25 | set_counter_if(_source_hash_table_memory_usage, hash_table_memory_usage); | 161 | 25 | set_counter_if(_source_hash_table_size_counter, ht_size); | 162 | 25 | }); |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 138 | 23 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 139 | 23 | auto& data = *agg_method.hash_table; | 140 | 23 | int64_t memory_usage_arena = _agg_arena.size(); | 141 | 23 | int64_t memory_usage_container = | 142 | 23 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 143 | 23 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 144 | 23 | auto ht_size = static_cast<int64_t>(data.size()); | 145 | | | 146 | 23 | using agg_context_utils::set_counter_if; | 147 | | // Update sink-side counters | 148 | 23 | set_counter_if(_memory_usage_arena, memory_usage_arena); | 149 | 23 | set_counter_if(_memory_usage_container, memory_usage_container); | 150 | 23 | set_counter_if(_hash_table_memory_usage, hash_table_memory_usage); | 151 | 23 | set_counter_if(_hash_table_size_counter, ht_size); | 152 | 23 | set_counter_if(_serialize_key_arena_memory_usage, | 153 | 23 | memory_usage_arena + memory_usage_container); | 154 | 23 | set_counter_if(_memory_used_counter, | 155 | 23 | memory_usage_arena + memory_usage_container + hash_table_memory_usage); | 156 | | | 157 | | // Update source-side counters (for PartitionedAgg source profile) | 158 | 23 | set_counter_if(_source_memory_usage_arena, memory_usage_arena); | 159 | 23 | set_counter_if(_source_memory_usage_container, memory_usage_container); | 160 | 23 | set_counter_if(_source_hash_table_memory_usage, hash_table_memory_usage); | 161 | 23 | set_counter_if(_source_hash_table_size_counter, ht_size); | 162 | 23 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Line | Count | Source | 138 | 2 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 139 | 2 | auto& data = *agg_method.hash_table; | 140 | 2 | int64_t memory_usage_arena = _agg_arena.size(); | 141 | 2 | int64_t memory_usage_container = | 142 | 2 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 143 | 2 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 144 | 2 | auto ht_size = static_cast<int64_t>(data.size()); | 145 | | | 146 | 2 | using agg_context_utils::set_counter_if; | 147 | | // Update sink-side counters | 148 | 2 | set_counter_if(_memory_usage_arena, memory_usage_arena); | 149 | 2 | set_counter_if(_memory_usage_container, memory_usage_container); | 150 | 2 | set_counter_if(_hash_table_memory_usage, hash_table_memory_usage); | 151 | 2 | set_counter_if(_hash_table_size_counter, ht_size); | 152 | 2 | set_counter_if(_serialize_key_arena_memory_usage, | 153 | 2 | memory_usage_arena + memory_usage_container); | 154 | 2 | set_counter_if(_memory_used_counter, | 155 | 2 | memory_usage_arena + memory_usage_container + hash_table_memory_usage); | 156 | | | 157 | | // Update source-side counters (for PartitionedAgg source profile) | 158 | 2 | set_counter_if(_source_memory_usage_arena, memory_usage_arena); | 159 | 2 | set_counter_if(_source_memory_usage_container, memory_usage_container); | 160 | 2 | set_counter_if(_source_hash_table_memory_usage, hash_table_memory_usage); | 161 | 2 | set_counter_if(_source_hash_table_size_counter, ht_size); | 162 | 2 | }); |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 138 | 10 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 139 | 10 | auto& data = *agg_method.hash_table; | 140 | 10 | int64_t memory_usage_arena = _agg_arena.size(); | 141 | 10 | int64_t memory_usage_container = | 142 | 10 | _agg_data_container ? _agg_data_container->memory_usage() : 0; | 143 | 10 | int64_t hash_table_memory_usage = data.get_buffer_size_in_bytes(); | 144 | 10 | auto ht_size = static_cast<int64_t>(data.size()); | 145 | | | 146 | 10 | using agg_context_utils::set_counter_if; | 147 | | // Update sink-side counters | 148 | 10 | set_counter_if(_memory_usage_arena, memory_usage_arena); | 149 | 10 | set_counter_if(_memory_usage_container, memory_usage_container); | 150 | 10 | set_counter_if(_hash_table_memory_usage, hash_table_memory_usage); | 151 | 10 | set_counter_if(_hash_table_size_counter, ht_size); | 152 | 10 | set_counter_if(_serialize_key_arena_memory_usage, | 153 | 10 | memory_usage_arena + memory_usage_container); | 154 | 10 | set_counter_if(_memory_used_counter, | 155 | 10 | memory_usage_arena + memory_usage_container + hash_table_memory_usage); | 156 | | | 157 | | // Update source-side counters (for PartitionedAgg source profile) | 158 | 10 | set_counter_if(_source_memory_usage_arena, memory_usage_arena); | 159 | 10 | set_counter_if(_source_memory_usage_container, memory_usage_container); | 160 | 10 | set_counter_if(_source_hash_table_memory_usage, hash_table_memory_usage); | 161 | 10 | set_counter_if(_source_hash_table_size_counter, ht_size); | 162 | 10 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext15update_memusageEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEDaRT_ |
163 | 60 | } |
164 | | |
165 | 4 | size_t GroupByAggContext::get_reserve_mem_size(RuntimeState* state) const { |
166 | 4 | size_t size_to_reserve = std::visit( |
167 | 4 | [&](auto&& arg) -> size_t { |
168 | 4 | using HashTableCtxType = std::decay_t<decltype(arg)>; |
169 | 4 | if constexpr (std::is_same_v<HashTableCtxType, std::monostate>) { |
170 | 0 | return 0; |
171 | 4 | } else { |
172 | 4 | return arg.hash_table->estimate_memory(state->batch_size()); |
173 | 4 | } |
174 | 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 | 167 | 4 | [&](auto&& arg) -> size_t { | 168 | 4 | using HashTableCtxType = std::decay_t<decltype(arg)>; | 169 | | if constexpr (std::is_same_v<HashTableCtxType, std::monostate>) { | 170 | | return 0; | 171 | 4 | } else { | 172 | 4 | return arg.hash_table->estimate_memory(state->batch_size()); | 173 | 4 | } | 174 | 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_ |
175 | 4 | _hash_table_data->method_variant); |
176 | | |
177 | 4 | size_to_reserve += memory_usage_last_executing; |
178 | 4 | return size_to_reserve; |
179 | 4 | } |
180 | | |
181 | 54 | Status GroupByAggContext::reset_hash_table() { |
182 | 54 | return agg_context_utils::visit_agg_method<Status>( |
183 | 54 | *_hash_table_data, [&](auto& agg_method) -> Status { |
184 | 54 | auto& hash_table = *agg_method.hash_table; |
185 | 54 | using HashTableType = std::decay_t<decltype(hash_table)>; |
186 | | |
187 | 54 | agg_method.arena.clear(); |
188 | 54 | agg_method.inited_iterator = false; |
189 | | |
190 | 1.06M | hash_table.for_each_mapped([&](auto& mapped) { |
191 | 1.06M | if (mapped) { |
192 | 1.06M | destroy_agg_state(mapped); |
193 | 1.06M | mapped = nullptr; |
194 | 1.06M | } |
195 | 1.06M | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEENS_6StatusERT_ENKUlSD_E_clIS6_EEDaSD_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEENS_6StatusERT_ENKUlSC_E_clIS5_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEENS_6StatusERT_ENKUlSC_E_clIS5_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEENS_6StatusERT_ENKUlSC_E_clIS5_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEENS_6StatusERT_ENKUlSC_E_clIS5_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEENS_6StatusERT_ENKUlSD_E_clIS5_EEDaSD_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEENS_6StatusERT_ENKUlSF_E_clIS8_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEENS_6StatusERT_ENKUlSF_E_clIS8_EEDaSF_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEENS_6StatusERT_ENKUlSE_E_clIS5_EEDaSE_ Line | Count | Source | 190 | 1.06M | hash_table.for_each_mapped([&](auto& mapped) { | 191 | 1.06M | if (mapped) { | 192 | 1.06M | destroy_agg_state(mapped); | 193 | 1.06M | mapped = nullptr; | 194 | 1.06M | } | 195 | 1.06M | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEENS_6StatusERT_ENKUlSE_E_clIS5_EEDaSE_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEENS_6StatusERT_ENKUlSG_E_clIS7_EEDaSG_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEENS_6StatusERT_ENKUlSG_E_clIS7_EEDaSG_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEENS_6StatusERT_ENKUlSG_E_clIS7_EEDaSG_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEENS_6StatusERT_ENKUlSG_E_clIS7_EEDaSG_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEENS_6StatusERT_ENKUlSI_E_clIS7_EEDaSI_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEENS_6StatusERT_ENKUlSI_E_clIS7_EEDaSI_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEENS_6StatusERT_ENKUlSJ_E_clISA_EEDaSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEENS_6StatusERT_ENKUlSJ_E_clISA_EEDaSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEENS_6StatusERT_ENKUlSH_E_clIS7_EEDaSH_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEENS_6StatusERT_ENKUlSC_E_clIS5_EEDaSC_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ENKUlSD_E_clIS6_EEDaSD_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ENKUlSD_E_clIS6_EEDaSD_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ENKUlSD_E_clIS6_EEDaSD_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEENS_6StatusERT_ENKUlSF_E_clIS8_EEDaSF_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ENKUlSD_E_clIS6_EEDaSD_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEENS_6StatusERT_ENKUlSF_E_clIS8_EEDaSF_ |
196 | | |
197 | 54 | if (hash_table.has_null_key_data()) { |
198 | 2 | destroy_agg_state(hash_table.template get_null_key_data<AggregateDataPtr>()); |
199 | 2 | } |
200 | | |
201 | 54 | _agg_data_container.reset(new AggregateDataContainer( |
202 | 54 | sizeof(typename HashTableType::key_type), |
203 | 54 | ((_total_agg_state_size + _agg_state_alignment - 1) / |
204 | 54 | _agg_state_alignment) * |
205 | 54 | _agg_state_alignment)); |
206 | 54 | agg_method.hash_table.reset(new HashTableType()); |
207 | 54 | return Status::OK(); |
208 | 54 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEENS_6StatusERT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEENS_6StatusERT_ Line | Count | Source | 183 | 52 | *_hash_table_data, [&](auto& agg_method) -> Status { | 184 | 52 | auto& hash_table = *agg_method.hash_table; | 185 | 52 | using HashTableType = std::decay_t<decltype(hash_table)>; | 186 | | | 187 | 52 | agg_method.arena.clear(); | 188 | 52 | agg_method.inited_iterator = false; | 189 | | | 190 | 52 | hash_table.for_each_mapped([&](auto& mapped) { | 191 | 52 | if (mapped) { | 192 | 52 | destroy_agg_state(mapped); | 193 | 52 | mapped = nullptr; | 194 | 52 | } | 195 | 52 | }); | 196 | | | 197 | 52 | if (hash_table.has_null_key_data()) { | 198 | 0 | destroy_agg_state(hash_table.template get_null_key_data<AggregateDataPtr>()); | 199 | 0 | } | 200 | | | 201 | 52 | _agg_data_container.reset(new AggregateDataContainer( | 202 | 52 | sizeof(typename HashTableType::key_type), | 203 | 52 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 204 | 52 | _agg_state_alignment) * | 205 | 52 | _agg_state_alignment)); | 206 | 52 | agg_method.hash_table.reset(new HashTableType()); | 207 | 52 | return Status::OK(); | 208 | 52 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEENS_6StatusERT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEENS_6StatusERT_ Line | Count | Source | 183 | 2 | *_hash_table_data, [&](auto& agg_method) -> Status { | 184 | 2 | auto& hash_table = *agg_method.hash_table; | 185 | 2 | using HashTableType = std::decay_t<decltype(hash_table)>; | 186 | | | 187 | 2 | agg_method.arena.clear(); | 188 | 2 | agg_method.inited_iterator = false; | 189 | | | 190 | 2 | hash_table.for_each_mapped([&](auto& mapped) { | 191 | 2 | if (mapped) { | 192 | 2 | destroy_agg_state(mapped); | 193 | 2 | mapped = nullptr; | 194 | 2 | } | 195 | 2 | }); | 196 | | | 197 | 2 | if (hash_table.has_null_key_data()) { | 198 | 2 | destroy_agg_state(hash_table.template get_null_key_data<AggregateDataPtr>()); | 199 | 2 | } | 200 | | | 201 | 2 | _agg_data_container.reset(new AggregateDataContainer( | 202 | 2 | sizeof(typename HashTableType::key_type), | 203 | 2 | ((_total_agg_state_size + _agg_state_alignment - 1) / | 204 | 2 | _agg_state_alignment) * | 205 | 2 | _agg_state_alignment)); | 206 | 2 | agg_method.hash_table.reset(new HashTableType()); | 207 | 2 | return Status::OK(); | 208 | 2 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEENS_6StatusERT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext16reset_hash_tableEvENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEENS_6StatusERT_ |
209 | 54 | } |
210 | | |
211 | | // ==================== Agg state management ==================== |
212 | | |
213 | 1.06M | Status GroupByAggContext::create_agg_state(AggregateDataPtr data) { |
214 | 2.13M | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
215 | 1.06M | try { |
216 | 1.06M | _agg_evaluators[i]->create(data + _agg_state_offsets[i]); |
217 | 1.06M | } catch (...) { |
218 | 0 | for (int j = 0; j < i; ++j) { |
219 | 0 | _agg_evaluators[j]->destroy(data + _agg_state_offsets[j]); |
220 | 0 | } |
221 | 0 | throw; |
222 | 0 | } |
223 | 1.06M | } |
224 | 1.06M | return Status::OK(); |
225 | 1.06M | } |
226 | | |
227 | 1.06M | void GroupByAggContext::destroy_agg_state(AggregateDataPtr data) { |
228 | 2.13M | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
229 | 1.06M | _agg_evaluators[i]->function()->destroy(data + _agg_state_offsets[i]); |
230 | 1.06M | } |
231 | 1.06M | } |
232 | | |
233 | 46 | void GroupByAggContext::close() { |
234 | 46 | std::visit(Overload {[&](std::monostate& arg) -> void { |
235 | | // Do nothing |
236 | 3 | }, |
237 | 46 | [&](auto& agg_method) -> void { |
238 | 43 | auto& data = *agg_method.hash_table; |
239 | 103 | data.for_each_mapped([&](auto& mapped) { |
240 | 103 | if (mapped) { |
241 | 103 | destroy_agg_state(mapped); |
242 | 103 | mapped = nullptr; |
243 | 103 | } |
244 | 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 | 239 | 16 | data.for_each_mapped([&](auto& mapped) { | 240 | 16 | if (mapped) { | 241 | 16 | destroy_agg_state(mapped); | 242 | 16 | mapped = nullptr; | 243 | 16 | } | 244 | 16 | }); |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ENKUlSD_E_clIS5_EEDaSD_ Line | Count | Source | 239 | 62 | data.for_each_mapped([&](auto& mapped) { | 240 | 62 | if (mapped) { | 241 | 62 | destroy_agg_state(mapped); | 242 | 62 | mapped = nullptr; | 243 | 62 | } | 244 | 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 | 239 | 25 | data.for_each_mapped([&](auto& mapped) { | 240 | 25 | if (mapped) { | 241 | 25 | destroy_agg_state(mapped); | 242 | 25 | mapped = nullptr; | 243 | 25 | } | 244 | 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_ |
245 | 43 | if (data.has_null_key_data()) { |
246 | 7 | destroy_agg_state( |
247 | 7 | data.template get_null_key_data<AggregateDataPtr>()); |
248 | 7 | } |
249 | 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 | 237 | 19 | [&](auto& agg_method) -> void { | 238 | 19 | auto& data = *agg_method.hash_table; | 239 | 19 | data.for_each_mapped([&](auto& mapped) { | 240 | 19 | if (mapped) { | 241 | 19 | destroy_agg_state(mapped); | 242 | 19 | mapped = nullptr; | 243 | 19 | } | 244 | 19 | }); | 245 | 19 | if (data.has_null_key_data()) { | 246 | 0 | destroy_agg_state( | 247 | 0 | data.template get_null_key_data<AggregateDataPtr>()); | 248 | 0 | } | 249 | 19 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEvRT_ Line | Count | Source | 237 | 16 | [&](auto& agg_method) -> void { | 238 | 16 | auto& data = *agg_method.hash_table; | 239 | 16 | data.for_each_mapped([&](auto& mapped) { | 240 | 16 | if (mapped) { | 241 | 16 | destroy_agg_state(mapped); | 242 | 16 | mapped = nullptr; | 243 | 16 | } | 244 | 16 | }); | 245 | 16 | if (data.has_null_key_data()) { | 246 | 0 | destroy_agg_state( | 247 | 0 | data.template get_null_key_data<AggregateDataPtr>()); | 248 | 0 | } | 249 | 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 | 237 | 1 | [&](auto& agg_method) -> void { | 238 | 1 | auto& data = *agg_method.hash_table; | 239 | 1 | data.for_each_mapped([&](auto& mapped) { | 240 | 1 | if (mapped) { | 241 | 1 | destroy_agg_state(mapped); | 242 | 1 | mapped = nullptr; | 243 | 1 | } | 244 | 1 | }); | 245 | 1 | if (data.has_null_key_data()) { | 246 | 0 | destroy_agg_state( | 247 | 0 | data.template get_null_key_data<AggregateDataPtr>()); | 248 | 0 | } | 249 | 1 | }}, |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext5closeEvENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEvRT_ Line | Count | Source | 237 | 7 | [&](auto& agg_method) -> void { | 238 | 7 | auto& data = *agg_method.hash_table; | 239 | 7 | data.for_each_mapped([&](auto& mapped) { | 240 | 7 | if (mapped) { | 241 | 7 | destroy_agg_state(mapped); | 242 | 7 | mapped = nullptr; | 243 | 7 | } | 244 | 7 | }); | 245 | 7 | if (data.has_null_key_data()) { | 246 | 7 | destroy_agg_state( | 247 | 7 | data.template get_null_key_data<AggregateDataPtr>()); | 248 | 7 | } | 249 | 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_ |
250 | 46 | _hash_table_data->method_variant); |
251 | 46 | } |
252 | | |
253 | | // ==================== Hash table write operations ==================== |
254 | | |
255 | | void GroupByAggContext::emplace_into_hash_table(AggregateDataPtr* places, |
256 | | ColumnRawPtrs& key_columns, uint32_t num_rows, |
257 | | RuntimeProfile::Counter* hash_table_compute_timer, |
258 | | RuntimeProfile::Counter* hash_table_emplace_timer, |
259 | 76 | RuntimeProfile::Counter* hash_table_input_counter) { |
260 | 76 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { |
261 | 76 | SCOPED_TIMER(hash_table_compute_timer); |
262 | 76 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
263 | 76 | using AggState = typename HashMethodType::State; |
264 | 76 | AggState state(key_columns); |
265 | 76 | agg_method.init_serialized_keys(key_columns, num_rows); |
266 | | |
267 | 1.06M | auto creator = [this](const auto& ctor, auto& key, auto& origin) { |
268 | 1.06M | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); |
269 | 1.06M | auto mapped = _agg_data_container->append_data(origin); |
270 | 1.06M | auto st = create_agg_state(mapped); |
271 | 1.06M | if (!st) { |
272 | 0 | throw Exception(st.code(), st.to_string()); |
273 | 0 | } |
274 | 1.06M | ctor(key, mapped); |
275 | 1.06M | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISH_vEEEEEEDaRT_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$_0clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEDaRT_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$_0clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEDaRT_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$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEDaRT_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$_0clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_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$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_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$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_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$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_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$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_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$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_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$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_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$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEDaRT_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$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEDaRT_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$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ENKUlRKSN_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSY_17FlatHashMapPolicyIjS1_EESK_NS_7EqualToIjEENS_10Allocator_ISt4pairIKjS1_EEEE11constructorEjjEEDaSQ_SS_SU_ Line | Count | Source | 267 | 1.06M | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 268 | 1.06M | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 269 | 1.06M | auto mapped = _agg_data_container->append_data(origin); | 270 | 1.06M | auto st = create_agg_state(mapped); | 271 | 1.06M | if (!st) { | 272 | 0 | throw Exception(st.code(), st.to_string()); | 273 | 0 | } | 274 | 1.06M | ctor(key, mapped); | 275 | 1.06M | }; |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ENKUlRKSN_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSY_17FlatHashMapPolicyImS1_EESK_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSQ_SS_SU_ Line | Count | Source | 267 | 61 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 268 | 61 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 269 | 61 | auto mapped = _agg_data_container->append_data(origin); | 270 | 61 | auto st = create_agg_state(mapped); | 271 | 61 | if (!st) { | 272 | 0 | throw Exception(st.code(), st.to_string()); | 273 | 0 | } | 274 | 61 | ctor(key, mapped); | 275 | 61 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ENKUlRKSR_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS12_17FlatHashMapPolicyImS1_EESM_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSU_SW_SY_ Line | Count | Source | 267 | 25 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 268 | 25 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 269 | 25 | auto mapped = _agg_data_container->append_data(origin); | 270 | 25 | auto st = create_agg_state(mapped); | 271 | 25 | if (!st) { | 272 | 0 | throw Exception(st.code(), st.to_string()); | 273 | 0 | } | 274 | 25 | ctor(key, mapped); | 275 | 25 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_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$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_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$_0clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_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$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISH_EEEEEEDaRT_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$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISH_EEEEEEDaRT_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$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISH_EEEEEEDaRT_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$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISJ_EEEEEEDaRT_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$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISH_EEEEEEDaRT_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$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISJ_EEEEEEDaRT_ENKUlRKSO_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINSZ_17FlatHashMapPolicyISJ_S1_EESL_NS_7EqualToISJ_EENS_10Allocator_ISt4pairIKSJ_S1_EEEE11constructorESJ_SJ_EEDaSR_ST_SV_ |
276 | | |
277 | 76 | auto creator_for_null_key = [&](auto& mapped) { |
278 | 8 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, _agg_state_alignment); |
279 | 8 | auto st = create_agg_state(mapped); |
280 | 8 | if (!st) { |
281 | 0 | throw Exception(st.code(), st.to_string()); |
282 | 0 | } |
283 | 8 | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEDaRT_ENKUlSQ_E_clIS1_EEDaSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEDaRT_ENKUlSQ_E_clIS1_EEDaSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEDaRT_ENKUlSQ_E_clIS1_EEDaSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEDaRT_ENKUlSQ_E_clIS1_EEDaSQ_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ENKUlSS_E_clIS1_EEDaSS_ Line | Count | Source | 277 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 278 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, _agg_state_alignment); | 279 | 2 | auto st = create_agg_state(mapped); | 280 | 2 | if (!st) { | 281 | 0 | throw Exception(st.code(), st.to_string()); | 282 | 0 | } | 283 | 2 | }; |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ENKUlSS_E_clIS1_EEDaSS_ Line | Count | Source | 277 | 6 | auto creator_for_null_key = [&](auto& mapped) { | 278 | 6 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, _agg_state_alignment); | 279 | 6 | auto st = create_agg_state(mapped); | 280 | 6 | if (!st) { | 281 | 0 | throw Exception(st.code(), st.to_string()); | 282 | 0 | } | 283 | 6 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_ENKUlST_E_clIS1_EEDaST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_ENKUlST_E_clIS1_EEDaST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ENKUlSR_E_clIS1_EEDaSR_ |
284 | | |
285 | 76 | SCOPED_TIMER(hash_table_emplace_timer); |
286 | 76 | lazy_emplace_batch(agg_method, state, num_rows, creator, creator_for_null_key, |
287 | 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$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISH_vEEEEEEDaRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEDaRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEDaRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEDaRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEDaRT_ENKUljSP_E_clIS1_EEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEDaRT_ENKUljSP_E_clIS1_EEDajSP_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ENKUljSO_E_clIS1_EEDajSO_ Line | Count | Source | 287 | 1.06M | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ENKUljSO_E_clIS1_EEDajSO_ Line | Count | Source | 287 | 96 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEDaRT_ENKUljSQ_E_clIS1_EEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEDaRT_ENKUljSQ_E_clIS1_EEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEDaRT_ENKUljSQ_E_clIS1_EEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEDaRT_ENKUljSQ_E_clIS1_EEDajSQ_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ENKUljSS_E_clIS1_EEDajSS_ Line | Count | Source | 287 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ENKUljSS_E_clIS1_EEDajSS_ Line | Count | Source | 287 | 46 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_ENKUljST_E_clIS1_EEDajST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_ENKUljST_E_clIS1_EEDajST_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ENKUljSR_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ENKUljSM_E_clIS1_EEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISH_EEEEEEDaRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISH_EEEEEEDaRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISH_EEEEEEDaRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISJ_EEEEEEDaRT_ENKUljSP_E_clIS1_EEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISH_EEEEEEDaRT_ENKUljSN_E_clIS1_EEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISJ_EEEEEEDaRT_ENKUljSP_E_clIS1_EEDajSP_ |
288 | | |
289 | 76 | COUNTER_UPDATE(hash_table_input_counter, num_rows); |
290 | 76 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISH_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISI_S1_9HashCRC32ISI_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 260 | 49 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 261 | 49 | SCOPED_TIMER(hash_table_compute_timer); | 262 | 49 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 263 | 49 | using AggState = typename HashMethodType::State; | 264 | 49 | AggState state(key_columns); | 265 | 49 | agg_method.init_serialized_keys(key_columns, num_rows); | 266 | | | 267 | 49 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 268 | 49 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 269 | 49 | auto mapped = _agg_data_container->append_data(origin); | 270 | 49 | auto st = create_agg_state(mapped); | 271 | 49 | if (!st) { | 272 | 49 | throw Exception(st.code(), st.to_string()); | 273 | 49 | } | 274 | 49 | ctor(key, mapped); | 275 | 49 | }; | 276 | | | 277 | 49 | auto creator_for_null_key = [&](auto& mapped) { | 278 | 49 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, _agg_state_alignment); | 279 | 49 | auto st = create_agg_state(mapped); | 280 | 49 | if (!st) { | 281 | 49 | throw Exception(st.code(), st.to_string()); | 282 | 49 | } | 283 | 49 | }; | 284 | | | 285 | 49 | SCOPED_TIMER(hash_table_emplace_timer); | 286 | 49 | lazy_emplace_batch(agg_method, state, num_rows, creator, creator_for_null_key, | 287 | 49 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 288 | | | 289 | 49 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 290 | 49 | }); |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 260 | 17 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 261 | 17 | SCOPED_TIMER(hash_table_compute_timer); | 262 | 17 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 263 | 17 | using AggState = typename HashMethodType::State; | 264 | 17 | AggState state(key_columns); | 265 | 17 | agg_method.init_serialized_keys(key_columns, num_rows); | 266 | | | 267 | 17 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 268 | 17 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 269 | 17 | auto mapped = _agg_data_container->append_data(origin); | 270 | 17 | auto st = create_agg_state(mapped); | 271 | 17 | if (!st) { | 272 | 17 | throw Exception(st.code(), st.to_string()); | 273 | 17 | } | 274 | 17 | ctor(key, mapped); | 275 | 17 | }; | 276 | | | 277 | 17 | auto creator_for_null_key = [&](auto& mapped) { | 278 | 17 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, _agg_state_alignment); | 279 | 17 | auto st = create_agg_state(mapped); | 280 | 17 | if (!st) { | 281 | 17 | throw Exception(st.code(), st.to_string()); | 282 | 17 | } | 283 | 17 | }; | 284 | | | 285 | 17 | SCOPED_TIMER(hash_table_emplace_timer); | 286 | 17 | lazy_emplace_batch(agg_method, state, num_rows, creator, creator_for_null_key, | 287 | 17 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 288 | | | 289 | 17 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 290 | 17 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Line | Count | Source | 260 | 2 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 261 | 2 | SCOPED_TIMER(hash_table_compute_timer); | 262 | 2 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 263 | 2 | using AggState = typename HashMethodType::State; | 264 | 2 | AggState state(key_columns); | 265 | 2 | agg_method.init_serialized_keys(key_columns, num_rows); | 266 | | | 267 | 2 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 268 | 2 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 269 | 2 | auto mapped = _agg_data_container->append_data(origin); | 270 | 2 | auto st = create_agg_state(mapped); | 271 | 2 | if (!st) { | 272 | 2 | throw Exception(st.code(), st.to_string()); | 273 | 2 | } | 274 | 2 | ctor(key, mapped); | 275 | 2 | }; | 276 | | | 277 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 278 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, _agg_state_alignment); | 279 | 2 | auto st = create_agg_state(mapped); | 280 | 2 | if (!st) { | 281 | 2 | throw Exception(st.code(), st.to_string()); | 282 | 2 | } | 283 | 2 | }; | 284 | | | 285 | 2 | SCOPED_TIMER(hash_table_emplace_timer); | 286 | 2 | lazy_emplace_batch(agg_method, state, num_rows, creator, creator_for_null_key, | 287 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 288 | | | 289 | 2 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 290 | 2 | }); |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 260 | 8 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 261 | 8 | SCOPED_TIMER(hash_table_compute_timer); | 262 | 8 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 263 | 8 | using AggState = typename HashMethodType::State; | 264 | 8 | AggState state(key_columns); | 265 | 8 | agg_method.init_serialized_keys(key_columns, num_rows); | 266 | | | 267 | 8 | auto creator = [this](const auto& ctor, auto& key, auto& origin) { | 268 | 8 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 269 | 8 | auto mapped = _agg_data_container->append_data(origin); | 270 | 8 | auto st = create_agg_state(mapped); | 271 | 8 | if (!st) { | 272 | 8 | throw Exception(st.code(), st.to_string()); | 273 | 8 | } | 274 | 8 | ctor(key, mapped); | 275 | 8 | }; | 276 | | | 277 | 8 | auto creator_for_null_key = [&](auto& mapped) { | 278 | 8 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, _agg_state_alignment); | 279 | 8 | auto st = create_agg_state(mapped); | 280 | 8 | if (!st) { | 281 | 8 | throw Exception(st.code(), st.to_string()); | 282 | 8 | } | 283 | 8 | }; | 284 | | | 285 | 8 | SCOPED_TIMER(hash_table_emplace_timer); | 286 | 8 | lazy_emplace_batch(agg_method, state, num_rows, creator, creator_for_null_key, | 287 | 8 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 288 | | | 289 | 8 | COUNTER_UPDATE(hash_table_input_counter, num_rows); | 290 | 8 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISJ_S1_9HashCRC32ISJ_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISH_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISH_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISH_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISJ_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISH_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext23emplace_into_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjPNS_14RuntimeProfile7CounterESC_SC_ENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISJ_EEEEEEDaRT_ |
291 | 76 | } |
292 | | |
293 | | void GroupByAggContext::find_in_hash_table(AggregateDataPtr* places, ColumnRawPtrs& key_columns, |
294 | 3 | uint32_t num_rows) { |
295 | 3 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { |
296 | 3 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
297 | 3 | using AggState = typename HashMethodType::State; |
298 | 3 | AggState state(key_columns); |
299 | 3 | agg_method.init_serialized_keys(key_columns, num_rows); |
300 | | |
301 | 15 | find_batch(agg_method, state, num_rows, [&](uint32_t row, auto& find_result) { |
302 | 15 | if (find_result.is_found()) { |
303 | 5 | places[row] = find_result.get_mapped(); |
304 | 10 | } else { |
305 | 10 | places[row] = nullptr; |
306 | 10 | } |
307 | 15 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISE_vEEEEEEDaRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEDaRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEDaRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEDaRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEDaRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEDaRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ENKUljSL_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSL_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ENKUljSL_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSL_ Line | Count | Source | 301 | 15 | find_batch(agg_method, state, num_rows, [&](uint32_t row, auto& find_result) { | 302 | 15 | if (find_result.is_found()) { | 303 | 5 | places[row] = find_result.get_mapped(); | 304 | 10 | } else { | 305 | 10 | places[row] = nullptr; | 306 | 10 | } | 307 | 15 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEDaRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEDaRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEDaRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEDaRT_ENKUljSN_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSN_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ENKUljSP_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ENKUljSP_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSP_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEDaRT_ENKUljSQ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEDaRT_ENKUljSQ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSQ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ENKUljSO_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSO_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ENKUljSJ_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSJ_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISE_EEEEEEDaRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISE_EEEEEEDaRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISE_EEEEEEDaRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISG_EEEEEEDaRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISE_EEEEEEDaRT_ENKUljSK_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSK_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISG_EEEEEEDaRT_ENKUljSM_E_clINS_14ColumnsHashing20columns_hashing_impl14FindResultImplIS1_EEEEDajSM_ |
308 | 3 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISE_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISF_S1_9HashCRC32ISF_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 295 | 3 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 296 | 3 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 297 | 3 | using AggState = typename HashMethodType::State; | 298 | 3 | AggState state(key_columns); | 299 | 3 | agg_method.init_serialized_keys(key_columns, num_rows); | 300 | | | 301 | 3 | find_batch(agg_method, state, num_rows, [&](uint32_t row, auto& find_result) { | 302 | 3 | if (find_result.is_found()) { | 303 | 3 | places[row] = find_result.get_mapped(); | 304 | 3 | } else { | 305 | 3 | places[row] = nullptr; | 306 | 3 | } | 307 | 3 | }); | 308 | 3 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISG_S1_9HashCRC32ISG_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISE_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISE_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISE_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISG_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISE_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18find_in_hash_tableEPPcRSt6vectorIPKNS_7IColumnESaIS6_EEjENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISG_EEEEEEDaRT_ |
309 | 3 | } |
310 | | |
311 | | bool GroupByAggContext::emplace_into_hash_table_limit(AggregateDataPtr* places, Block* block, |
312 | | const std::vector<int>* key_locs, |
313 | | ColumnRawPtrs& key_columns, |
314 | 4 | uint32_t num_rows) { |
315 | 4 | return agg_context_utils::visit_agg_method<bool>( |
316 | 4 | *_hash_table_data, [&](auto&& agg_method) -> bool { |
317 | 4 | SCOPED_TIMER(_hash_table_compute_timer); |
318 | 4 | using HashMethodType = std::decay_t<decltype(agg_method)>; |
319 | 4 | using AggState = typename HashMethodType::State; |
320 | | |
321 | 4 | bool need_filter = false; |
322 | 4 | { |
323 | 4 | SCOPED_TIMER(_hash_table_limit_compute_timer); |
324 | 4 | need_filter = do_limit_filter(num_rows, key_columns); |
325 | 4 | } |
326 | | |
327 | 4 | auto& need_computes = _need_computes; |
328 | 4 | if (std::find(need_computes.begin(), need_computes.end(), 1) == |
329 | 4 | need_computes.end()) { |
330 | 0 | return false; |
331 | 0 | } |
332 | | |
333 | 4 | if (need_filter) { |
334 | 4 | Block::filter_block_internal(block, need_computes); |
335 | 4 | if (key_locs) { |
336 | 8 | for (int i = 0; i < key_locs->size(); ++i) { |
337 | 4 | key_columns[i] = |
338 | 4 | block->get_by_position((*key_locs)[i]).column.get(); |
339 | 4 | } |
340 | 4 | } |
341 | 4 | num_rows = (uint32_t)block->rows(); |
342 | 4 | } |
343 | | |
344 | 4 | AggState state(key_columns); |
345 | 4 | agg_method.init_serialized_keys(key_columns, num_rows); |
346 | 4 | size_t i = 0; |
347 | | |
348 | 4 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { |
349 | 1 | try { |
350 | 1 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); |
351 | 1 | auto mapped = _agg_data_container->append_data(origin); |
352 | 1 | auto st = create_agg_state(mapped); |
353 | 1 | if (!st) { |
354 | 0 | throw Exception(st.code(), st.to_string()); |
355 | 0 | } |
356 | 1 | ctor(key, mapped); |
357 | 1 | refresh_top_limit(i, key_columns); |
358 | 1 | } catch (...) { |
359 | 0 | ctor(key, nullptr); |
360 | 0 | throw; |
361 | 0 | } |
362 | 1 | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ENKUlRKSR_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS12_17FlatHashMapPolicyImS1_EESN_NS_7EqualToImEENS_10Allocator_ISt4pairIKmS1_EEEE11constructorEmmEEDaSU_SW_SY_ Line | Count | Source | 348 | 1 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 349 | 1 | try { | 350 | 1 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 351 | 1 | auto mapped = _agg_data_container->append_data(origin); | 352 | 1 | auto st = create_agg_state(mapped); | 353 | 1 | if (!st) { | 354 | 0 | throw Exception(st.code(), st.to_string()); | 355 | 0 | } | 356 | 1 | ctor(key, mapped); | 357 | 1 | refresh_top_limit(i, key_columns); | 358 | 1 | } catch (...) { | 359 | 0 | ctor(key, nullptr); | 360 | 0 | throw; | 361 | 0 | } | 362 | 1 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUlRKSS_RT0_RT1_E_clIN5phmap4priv12raw_hash_setINS13_17FlatHashMapPolicyISM_S1_EESO_NS_7EqualToISM_EENS_10Allocator_ISt4pairIKSM_S1_EEEE11constructorESM_SM_EEDaSV_SX_SZ_ |
363 | | |
364 | 4 | auto creator_for_null_key = [&](auto& mapped) { |
365 | 1 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, |
366 | 1 | _agg_state_alignment); |
367 | 1 | auto st = create_agg_state(mapped); |
368 | 1 | if (!st) { |
369 | 0 | throw Exception(st.code(), st.to_string()); |
370 | 0 | } |
371 | 1 | refresh_top_limit(i, key_columns); |
372 | 1 | }; Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ENKUlRST_E_clIS1_EEDaSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ENKUlRSV_E_clIS1_EEDaSX_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ENKUlRSV_E_clIS1_EEDaSX_ Line | Count | Source | 364 | 1 | auto creator_for_null_key = [&](auto& mapped) { | 365 | 1 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 366 | 1 | _agg_state_alignment); | 367 | 1 | auto st = create_agg_state(mapped); | 368 | 1 | if (!st) { | 369 | 0 | throw Exception(st.code(), st.to_string()); | 370 | 0 | } | 371 | 1 | refresh_top_limit(i, key_columns); | 372 | 1 | }; |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_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$_0clIRNS_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$_0clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUlRSU_E_clIS1_EEDaSW_ |
373 | | |
374 | 4 | SCOPED_TIMER(_hash_table_emplace_timer); |
375 | 4 | lazy_emplace_batch( |
376 | 4 | agg_method, state, num_rows, creator, creator_for_null_key, |
377 | 8 | [&](uint32_t row) { i = row; },Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISK_vEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEbOT_ENKUljE_clEj groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ENKUljE_clEj Line | Count | Source | 377 | 4 | [&](uint32_t row) { i = row; }, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ENKUljE_clEj groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ENKUljE_clEj Line | Count | Source | 377 | 4 | [&](uint32_t row) { i = row; }, |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljE_clEj Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljE_clEj |
378 | 8 | [&](uint32_t row, auto& mapped) { places[row] = mapped; });Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISK_vEEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEbOT_ENKUljRSR_E_clIS1_EEDajST_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ENKUljRSR_E_clIS1_EEDajST_ Line | Count | Source | 378 | 4 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ENKUljRST_E_clIS1_EEDajSV_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ENKUljRSV_E_clIS1_EEDajSX_ groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ENKUljRSV_E_clIS1_EEDajSX_ Line | Count | Source | 378 | 4 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_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$_0clIRNS_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$_0clIRNS_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$_0clIRNS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ENKUljRSP_E_clIS1_EEDajSR_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISK_EEEEEEbOT_ENKUljRSQ_E_clIS1_EEDajSS_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ENKUljRSS_E_clIS1_EEDajSU_ |
379 | 4 | COUNTER_UPDATE(_hash_table_input_counter, num_rows); |
380 | 4 | return true; |
381 | 4 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefES1_11DefaultHashISK_vEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIh9PHHashMapIhS1_9HashCRC32IhEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIt9PHHashMapItS1_9HashCRC32ItEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjS1_9HashCRC32IjEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_19MethodStringNoCacheINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISL_S1_9HashCRC32ISL_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEbOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEbOT_ Line | Count | Source | 316 | 2 | *_hash_table_data, [&](auto&& agg_method) -> bool { | 317 | 2 | SCOPED_TIMER(_hash_table_compute_timer); | 318 | 2 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 319 | 2 | using AggState = typename HashMethodType::State; | 320 | | | 321 | 2 | bool need_filter = false; | 322 | 2 | { | 323 | 2 | SCOPED_TIMER(_hash_table_limit_compute_timer); | 324 | 2 | need_filter = do_limit_filter(num_rows, key_columns); | 325 | 2 | } | 326 | | | 327 | 2 | auto& need_computes = _need_computes; | 328 | 2 | if (std::find(need_computes.begin(), need_computes.end(), 1) == | 329 | 2 | need_computes.end()) { | 330 | 0 | return false; | 331 | 0 | } | 332 | | | 333 | 2 | if (need_filter) { | 334 | 2 | Block::filter_block_internal(block, need_computes); | 335 | 2 | if (key_locs) { | 336 | 4 | for (int i = 0; i < key_locs->size(); ++i) { | 337 | 2 | key_columns[i] = | 338 | 2 | block->get_by_position((*key_locs)[i]).column.get(); | 339 | 2 | } | 340 | 2 | } | 341 | 2 | num_rows = (uint32_t)block->rows(); | 342 | 2 | } | 343 | | | 344 | 2 | AggState state(key_columns); | 345 | 2 | agg_method.init_serialized_keys(key_columns, num_rows); | 346 | 2 | size_t i = 0; | 347 | | | 348 | 2 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 349 | 2 | try { | 350 | 2 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 351 | 2 | auto mapped = _agg_data_container->append_data(origin); | 352 | 2 | auto st = create_agg_state(mapped); | 353 | 2 | if (!st) { | 354 | 2 | throw Exception(st.code(), st.to_string()); | 355 | 2 | } | 356 | 2 | ctor(key, mapped); | 357 | 2 | refresh_top_limit(i, key_columns); | 358 | 2 | } catch (...) { | 359 | 2 | ctor(key, nullptr); | 360 | 2 | throw; | 361 | 2 | } | 362 | 2 | }; | 363 | | | 364 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 365 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 366 | 2 | _agg_state_alignment); | 367 | 2 | auto st = create_agg_state(mapped); | 368 | 2 | if (!st) { | 369 | 2 | throw Exception(st.code(), st.to_string()); | 370 | 2 | } | 371 | 2 | refresh_top_limit(i, key_columns); | 372 | 2 | }; | 373 | | | 374 | 2 | SCOPED_TIMER(_hash_table_emplace_timer); | 375 | 2 | lazy_emplace_batch( | 376 | 2 | agg_method, state, num_rows, creator, creator_for_null_key, | 377 | 2 | [&](uint32_t row) { i = row; }, | 378 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 379 | 2 | COUNTER_UPDATE(_hash_table_input_counter, num_rows); | 380 | 2 | return true; | 381 | 2 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhS1_9HashCRC32IhEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItS1_9HashCRC32ItEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_9HashCRC32IjEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_9HashCRC32ImEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjS1_14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImS1_14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbOT_ Line | Count | Source | 316 | 2 | *_hash_table_data, [&](auto&& agg_method) -> bool { | 317 | 2 | SCOPED_TIMER(_hash_table_compute_timer); | 318 | 2 | using HashMethodType = std::decay_t<decltype(agg_method)>; | 319 | 2 | using AggState = typename HashMethodType::State; | 320 | | | 321 | 2 | bool need_filter = false; | 322 | 2 | { | 323 | 2 | SCOPED_TIMER(_hash_table_limit_compute_timer); | 324 | 2 | need_filter = do_limit_filter(num_rows, key_columns); | 325 | 2 | } | 326 | | | 327 | 2 | auto& need_computes = _need_computes; | 328 | 2 | if (std::find(need_computes.begin(), need_computes.end(), 1) == | 329 | 2 | need_computes.end()) { | 330 | 0 | return false; | 331 | 0 | } | 332 | | | 333 | 2 | if (need_filter) { | 334 | 2 | Block::filter_block_internal(block, need_computes); | 335 | 2 | if (key_locs) { | 336 | 4 | for (int i = 0; i < key_locs->size(); ++i) { | 337 | 2 | key_columns[i] = | 338 | 2 | block->get_by_position((*key_locs)[i]).column.get(); | 339 | 2 | } | 340 | 2 | } | 341 | 2 | num_rows = (uint32_t)block->rows(); | 342 | 2 | } | 343 | | | 344 | 2 | AggState state(key_columns); | 345 | 2 | agg_method.init_serialized_keys(key_columns, num_rows); | 346 | 2 | size_t i = 0; | 347 | | | 348 | 2 | auto creator = [&](const auto& ctor, auto& key, auto& origin) { | 349 | 2 | try { | 350 | 2 | HashMethodType::try_presis_key_and_origin(key, origin, _agg_arena); | 351 | 2 | auto mapped = _agg_data_container->append_data(origin); | 352 | 2 | auto st = create_agg_state(mapped); | 353 | 2 | if (!st) { | 354 | 2 | throw Exception(st.code(), st.to_string()); | 355 | 2 | } | 356 | 2 | ctor(key, mapped); | 357 | 2 | refresh_top_limit(i, key_columns); | 358 | 2 | } catch (...) { | 359 | 2 | ctor(key, nullptr); | 360 | 2 | throw; | 361 | 2 | } | 362 | 2 | }; | 363 | | | 364 | 2 | auto creator_for_null_key = [&](auto& mapped) { | 365 | 2 | mapped = _agg_arena.aligned_alloc(_total_agg_state_size, | 366 | 2 | _agg_state_alignment); | 367 | 2 | auto st = create_agg_state(mapped); | 368 | 2 | if (!st) { | 369 | 2 | throw Exception(st.code(), st.to_string()); | 370 | 2 | } | 371 | 2 | refresh_top_limit(i, key_columns); | 372 | 2 | }; | 373 | | | 374 | 2 | SCOPED_TIMER(_hash_table_emplace_timer); | 375 | 2 | lazy_emplace_batch( | 376 | 2 | agg_method, state, num_rows, creator, creator_for_null_key, | 377 | 2 | [&](uint32_t row) { i = row; }, | 378 | 2 | [&](uint32_t row, auto& mapped) { places[row] = mapped; }); | 379 | 2 | COUNTER_UPDATE(_hash_table_input_counter, num_rows); | 380 | 2 | return true; | 381 | 2 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISM_S1_9HashCRC32ISM_EEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIS1_NS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapImS1_9HashCRC32ImEEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEES1_9HashCRC32ISM_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136ES1_9HashCRC32ISK_EEEEEEbOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext29emplace_into_hash_table_limitEPPcPNS_5BlockEPKSt6vectorIiSaIiEERS5_IPKNS_7IColumnESaISC_EEjENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEES1_9HashCRC32ISM_EEEEEEbOT_ |
382 | 4 | } |
383 | | |
384 | | // ==================== Aggregation execution ==================== |
385 | | |
386 | | Status GroupByAggContext::evaluate_groupby_keys(Block* block, ColumnRawPtrs& key_columns, |
387 | 60 | std::vector<int>* key_locs) { |
388 | 60 | SCOPED_TIMER(_expr_timer); |
389 | 60 | const size_t key_size = _groupby_expr_ctxs.size(); |
390 | 120 | for (size_t i = 0; i < key_size; ++i) { |
391 | 60 | int result_column_id = -1; |
392 | 60 | RETURN_IF_ERROR(_groupby_expr_ctxs[i]->execute(block, &result_column_id)); |
393 | 60 | block->get_by_position(result_column_id).column = |
394 | 60 | block->get_by_position(result_column_id).column->convert_to_full_column_if_const(); |
395 | 60 | key_columns[i] = block->get_by_position(result_column_id).column.get(); |
396 | 60 | key_columns[i]->assume_mutable()->replace_float_special_values(); |
397 | 60 | if (key_locs) { |
398 | 52 | (*key_locs)[i] = result_column_id; |
399 | 52 | } |
400 | 60 | } |
401 | 60 | return Status::OK(); |
402 | 60 | } |
403 | | |
404 | 43 | Status GroupByAggContext::execute_with_serialized_key(Block* block) { |
405 | 43 | memory_usage_last_executing = 0; |
406 | 43 | SCOPED_PEAK_MEM(&memory_usage_last_executing); |
407 | | |
408 | 43 | SCOPED_TIMER(_build_timer); |
409 | 43 | DCHECK(!_groupby_expr_ctxs.empty()); |
410 | | |
411 | 43 | size_t key_size = _groupby_expr_ctxs.size(); |
412 | 43 | ColumnRawPtrs key_columns(key_size); |
413 | 43 | std::vector<int> key_locs(key_size); |
414 | 43 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); |
415 | | |
416 | 43 | auto rows = (uint32_t)block->rows(); |
417 | 43 | if (_places.size() < rows) { |
418 | 30 | _places.resize(rows); |
419 | 30 | } |
420 | | |
421 | 43 | if (reach_limit && !do_sort_limit) { |
422 | 1 | find_in_hash_table(_places.data(), key_columns, rows); |
423 | 1 | RETURN_IF_ERROR(_execute_batch_add_selected_evaluators(block, _places.data())); |
424 | 42 | } else { |
425 | 42 | if (reach_limit) { |
426 | | // do_sort_limit == true here |
427 | 3 | if (emplace_into_hash_table_limit(_places.data(), block, &key_locs, key_columns, |
428 | 3 | rows)) { |
429 | 3 | RETURN_IF_ERROR(_execute_batch_add_evaluators(block, _places.data())); |
430 | 3 | } |
431 | 39 | } else { |
432 | 39 | emplace_into_hash_table(_places.data(), key_columns, rows, _hash_table_compute_timer, |
433 | 39 | _hash_table_emplace_timer, _hash_table_input_counter); |
434 | 39 | RETURN_IF_ERROR(_execute_batch_add_evaluators(block, _places.data())); |
435 | | |
436 | 39 | _check_limit_after_emplace(); |
437 | 39 | } |
438 | 42 | } |
439 | 43 | return Status::OK(); |
440 | 43 | } |
441 | | |
442 | | Status GroupByAggContext::emplace_and_forward(AggregateDataPtr* places, ColumnRawPtrs& key_columns, |
443 | | uint32_t num_rows, Block* block, |
444 | 6 | bool expand_hash_table) { |
445 | 6 | emplace_into_hash_table(places, key_columns, num_rows, _hash_table_compute_timer, |
446 | 6 | _hash_table_emplace_timer, _hash_table_input_counter); |
447 | 6 | return _execute_batch_add_evaluators(block, places, expand_hash_table); |
448 | 6 | } |
449 | | |
450 | 9 | Status GroupByAggContext::merge_with_serialized_key(Block* block) { |
451 | 9 | memory_usage_last_executing = 0; |
452 | 9 | SCOPED_PEAK_MEM(&memory_usage_last_executing); |
453 | | |
454 | 9 | if (reach_limit) { |
455 | 3 | return _merge_with_serialized_key_helper<true, false>(block); |
456 | 6 | } else { |
457 | 6 | return _merge_with_serialized_key_helper<false, false>(block); |
458 | 6 | } |
459 | 9 | } |
460 | | |
461 | 24 | Status GroupByAggContext::merge_with_serialized_key_for_spill(Block* block) { |
462 | 24 | return _merge_with_serialized_key_helper<false, true>(block); |
463 | 24 | } |
464 | | |
465 | | // ==================== Evaluator loop helpers ==================== |
466 | | |
467 | | Status GroupByAggContext::_execute_batch_add_evaluators(Block* block, AggregateDataPtr* places, |
468 | 48 | bool expand_hash_table) { |
469 | 96 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
470 | 48 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( |
471 | 48 | block, _agg_state_offsets[i], places, _agg_arena, expand_hash_table)); |
472 | 48 | } |
473 | 48 | return Status::OK(); |
474 | 48 | } |
475 | | |
476 | | Status GroupByAggContext::_execute_batch_add_selected_evaluators(Block* block, |
477 | 1 | AggregateDataPtr* places) { |
478 | 2 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
479 | 1 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add_selected( |
480 | 1 | block, _agg_state_offsets[i], places, _agg_arena)); |
481 | 1 | } |
482 | 1 | return Status::OK(); |
483 | 1 | } |
484 | | |
485 | | Status GroupByAggContext::_merge_evaluators_selected(Block* block, size_t rows, |
486 | 2 | RuntimeProfile::Counter* deser_timer) { |
487 | 4 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
488 | 2 | if (_agg_evaluators[i]->is_merge()) { |
489 | 1 | int col_id = get_slot_column_id(_agg_evaluators[i]); |
490 | 1 | auto column = block->get_by_position(col_id).column; |
491 | | |
492 | 1 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; |
493 | 1 | if (_deserialize_buffer.size() < buffer_size) { |
494 | 0 | _deserialize_buffer.resize(buffer_size); |
495 | 0 | } |
496 | | |
497 | 1 | { |
498 | 1 | SCOPED_TIMER(deser_timer); |
499 | 1 | _agg_evaluators[i]->function()->deserialize_and_merge_vec_selected( |
500 | 1 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), |
501 | 1 | column.get(), _agg_arena, rows); |
502 | 1 | } |
503 | 1 | } else { |
504 | 1 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add_selected( |
505 | 1 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); |
506 | 1 | } |
507 | 2 | } |
508 | 2 | return Status::OK(); |
509 | 2 | } |
510 | | |
511 | | template <bool for_spill> |
512 | | Status GroupByAggContext::_merge_evaluators(Block* block, size_t rows, |
513 | 31 | RuntimeProfile::Counter* deser_timer) { |
514 | 62 | for (int i = 0; i < _agg_evaluators.size(); ++i) { |
515 | 31 | if (_agg_evaluators[i]->is_merge() || for_spill) { |
516 | 29 | size_t col_id = 0; |
517 | 29 | if constexpr (for_spill) { |
518 | 24 | col_id = _groupby_expr_ctxs.size() + i; |
519 | 24 | } else { |
520 | 5 | col_id = get_slot_column_id(_agg_evaluators[i]); |
521 | 5 | } |
522 | 29 | auto column = block->get_by_position(col_id).column; |
523 | | |
524 | 29 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; |
525 | 29 | if (_deserialize_buffer.size() < buffer_size) { |
526 | 8 | _deserialize_buffer.resize(buffer_size); |
527 | 8 | } |
528 | | |
529 | 29 | { |
530 | 29 | SCOPED_TIMER(deser_timer); |
531 | 29 | _agg_evaluators[i]->function()->deserialize_and_merge_vec( |
532 | 29 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), |
533 | 29 | column.get(), _agg_arena, rows); |
534 | 29 | } |
535 | 29 | } else { |
536 | 2 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( |
537 | 2 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); |
538 | 2 | } |
539 | 31 | } |
540 | 31 | return Status::OK(); |
541 | 31 | } _ZN5doris17GroupByAggContext17_merge_evaluatorsILb1EEENS_6StatusEPNS_5BlockEmPNS_14RuntimeProfile7CounterE Line | Count | Source | 513 | 24 | RuntimeProfile::Counter* deser_timer) { | 514 | 48 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 515 | 24 | if (_agg_evaluators[i]->is_merge() || for_spill) { | 516 | 24 | size_t col_id = 0; | 517 | 24 | if constexpr (for_spill) { | 518 | 24 | col_id = _groupby_expr_ctxs.size() + i; | 519 | | } else { | 520 | | col_id = get_slot_column_id(_agg_evaluators[i]); | 521 | | } | 522 | 24 | auto column = block->get_by_position(col_id).column; | 523 | | | 524 | 24 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 525 | 24 | if (_deserialize_buffer.size() < buffer_size) { | 526 | 4 | _deserialize_buffer.resize(buffer_size); | 527 | 4 | } | 528 | | | 529 | 24 | { | 530 | 24 | SCOPED_TIMER(deser_timer); | 531 | 24 | _agg_evaluators[i]->function()->deserialize_and_merge_vec( | 532 | 24 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 533 | 24 | column.get(), _agg_arena, rows); | 534 | 24 | } | 535 | 24 | } else { | 536 | 0 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( | 537 | 0 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 538 | 0 | } | 539 | 24 | } | 540 | 24 | return Status::OK(); | 541 | 24 | } |
_ZN5doris17GroupByAggContext17_merge_evaluatorsILb0EEENS_6StatusEPNS_5BlockEmPNS_14RuntimeProfile7CounterE Line | Count | Source | 513 | 7 | RuntimeProfile::Counter* deser_timer) { | 514 | 14 | for (int i = 0; i < _agg_evaluators.size(); ++i) { | 515 | 7 | if (_agg_evaluators[i]->is_merge() || for_spill) { | 516 | 5 | size_t col_id = 0; | 517 | | if constexpr (for_spill) { | 518 | | col_id = _groupby_expr_ctxs.size() + i; | 519 | 5 | } else { | 520 | 5 | col_id = get_slot_column_id(_agg_evaluators[i]); | 521 | 5 | } | 522 | 5 | auto column = block->get_by_position(col_id).column; | 523 | | | 524 | 5 | size_t buffer_size = _agg_evaluators[i]->function()->size_of_data() * rows; | 525 | 5 | if (_deserialize_buffer.size() < buffer_size) { | 526 | 4 | _deserialize_buffer.resize(buffer_size); | 527 | 4 | } | 528 | | | 529 | 5 | { | 530 | 5 | SCOPED_TIMER(deser_timer); | 531 | 5 | _agg_evaluators[i]->function()->deserialize_and_merge_vec( | 532 | 5 | _places.data(), _agg_state_offsets[i], _deserialize_buffer.data(), | 533 | 5 | column.get(), _agg_arena, rows); | 534 | 5 | } | 535 | 5 | } else { | 536 | 2 | RETURN_IF_ERROR(_agg_evaluators[i]->execute_batch_add( | 537 | 2 | block, _agg_state_offsets[i], _places.data(), _agg_arena)); | 538 | 2 | } | 539 | 7 | } | 540 | 7 | return Status::OK(); | 541 | 7 | } |
|
542 | | |
543 | | template Status GroupByAggContext::_merge_evaluators<true>(Block* block, size_t rows, |
544 | | RuntimeProfile::Counter* deser_timer); |
545 | | template Status GroupByAggContext::_merge_evaluators<false>(Block* block, size_t rows, |
546 | | RuntimeProfile::Counter* deser_timer); |
547 | | |
548 | | void GroupByAggContext::_serialize_agg_values(MutableColumns& value_columns, |
549 | | DataTypes& value_data_types, Block* block, |
550 | 43 | bool mem_reuse, size_t key_size, uint32_t num_rows) { |
551 | 86 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { |
552 | 43 | value_data_types[i] = _agg_evaluators[i]->function()->get_serialized_type(); |
553 | 43 | if (mem_reuse) { |
554 | 22 | value_columns[i] = std::move(*block->get_by_position(i + key_size).column).mutate(); |
555 | 22 | } else { |
556 | 21 | value_columns[i] = _agg_evaluators[i]->function()->create_serialize_column(); |
557 | 21 | } |
558 | 43 | _agg_evaluators[i]->function()->serialize_to_column(_values, _agg_state_offsets[i], |
559 | 43 | value_columns[i], num_rows); |
560 | 43 | } |
561 | 43 | } |
562 | | |
563 | | void GroupByAggContext::_insert_finalized_values(MutableColumns& value_columns, |
564 | 11 | uint32_t num_rows) { |
565 | 22 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { |
566 | 11 | _agg_evaluators[i]->insert_result_info_vec(_values, _agg_state_offsets[i], |
567 | 11 | value_columns[i].get(), num_rows); |
568 | 11 | } |
569 | 11 | } |
570 | | |
571 | | void GroupByAggContext::_insert_finalized_single(AggregateDataPtr mapped, |
572 | 3 | MutableColumns& value_columns) { |
573 | 6 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { |
574 | 3 | _agg_evaluators[i]->insert_result_info(mapped + _agg_state_offsets[i], |
575 | 3 | value_columns[i].get()); |
576 | 3 | } |
577 | 3 | } |
578 | | |
579 | | // ==================== Streaming preagg support ==================== |
580 | | |
581 | | bool GroupByAggContext::should_expand_preagg_hash_table(int64_t input_rows, int64_t returned_rows, |
582 | 6 | bool is_single_backend) { |
583 | 6 | if (!_should_expand_hash_table) { |
584 | 0 | return false; |
585 | 0 | } |
586 | | |
587 | 6 | return agg_context_utils::visit_agg_method<bool>( |
588 | 6 | *_hash_table_data, [&](auto& agg_method) -> bool { |
589 | 6 | auto& hash_tbl = *agg_method.hash_table; |
590 | 6 | auto [ht_mem, ht_rows] = |
591 | 6 | std::pair {hash_tbl.get_buffer_size_in_bytes(), hash_tbl.size()}; |
592 | | |
593 | 6 | if (ht_rows == 0) { |
594 | 4 | return true; |
595 | 4 | } |
596 | | |
597 | 2 | const auto* reduction = is_single_backend ? SINGLE_BE_STREAMING_HT_MIN_REDUCTION |
598 | 2 | : STREAMING_HT_MIN_REDUCTION; |
599 | | |
600 | 2 | int cache_level = 0; |
601 | 2 | while (cache_level + 1 < STREAMING_HT_MIN_REDUCTION_SIZE && |
602 | 2 | ht_mem >= reduction[cache_level + 1].min_ht_mem) { |
603 | 0 | ++cache_level; |
604 | 0 | } |
605 | | |
606 | 2 | const int64_t aggregated_input_rows = input_rows - returned_rows; |
607 | 2 | double current_reduction = static_cast<double>(aggregated_input_rows) / |
608 | 2 | static_cast<double>(ht_rows); |
609 | | |
610 | 2 | if (aggregated_input_rows <= 0) { |
611 | 0 | return true; |
612 | 0 | } |
613 | | |
614 | 2 | double min_reduction = reduction[cache_level].streaming_ht_min_reduction; |
615 | 2 | _should_expand_hash_table = current_reduction > min_reduction; |
616 | 2 | return _should_expand_hash_table; |
617 | 2 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEbRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEbRT_ Line | Count | Source | 588 | 3 | *_hash_table_data, [&](auto& agg_method) -> bool { | 589 | 3 | auto& hash_tbl = *agg_method.hash_table; | 590 | 3 | auto [ht_mem, ht_rows] = | 591 | 3 | std::pair {hash_tbl.get_buffer_size_in_bytes(), hash_tbl.size()}; | 592 | | | 593 | 3 | if (ht_rows == 0) { | 594 | 2 | return true; | 595 | 2 | } | 596 | | | 597 | 1 | const auto* reduction = is_single_backend ? SINGLE_BE_STREAMING_HT_MIN_REDUCTION | 598 | 1 | : STREAMING_HT_MIN_REDUCTION; | 599 | | | 600 | 1 | int cache_level = 0; | 601 | 1 | while (cache_level + 1 < STREAMING_HT_MIN_REDUCTION_SIZE && | 602 | 1 | ht_mem >= reduction[cache_level + 1].min_ht_mem) { | 603 | 0 | ++cache_level; | 604 | 0 | } | 605 | | | 606 | 1 | const int64_t aggregated_input_rows = input_rows - returned_rows; | 607 | 1 | double current_reduction = static_cast<double>(aggregated_input_rows) / | 608 | 1 | static_cast<double>(ht_rows); | 609 | | | 610 | 1 | if (aggregated_input_rows <= 0) { | 611 | 0 | return true; | 612 | 0 | } | 613 | | | 614 | 1 | double min_reduction = reduction[cache_level].streaming_ht_min_reduction; | 615 | 1 | _should_expand_hash_table = current_reduction > min_reduction; | 616 | 1 | return _should_expand_hash_table; | 617 | 1 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbRT_ Line | Count | Source | 588 | 3 | *_hash_table_data, [&](auto& agg_method) -> bool { | 589 | 3 | auto& hash_tbl = *agg_method.hash_table; | 590 | 3 | auto [ht_mem, ht_rows] = | 591 | 3 | std::pair {hash_tbl.get_buffer_size_in_bytes(), hash_tbl.size()}; | 592 | | | 593 | 3 | if (ht_rows == 0) { | 594 | 2 | return true; | 595 | 2 | } | 596 | | | 597 | 1 | const auto* reduction = is_single_backend ? SINGLE_BE_STREAMING_HT_MIN_REDUCTION | 598 | 1 | : STREAMING_HT_MIN_REDUCTION; | 599 | | | 600 | 1 | int cache_level = 0; | 601 | 1 | while (cache_level + 1 < STREAMING_HT_MIN_REDUCTION_SIZE && | 602 | 1 | ht_mem >= reduction[cache_level + 1].min_ht_mem) { | 603 | 0 | ++cache_level; | 604 | 0 | } | 605 | | | 606 | 1 | const int64_t aggregated_input_rows = input_rows - returned_rows; | 607 | 1 | double current_reduction = static_cast<double>(aggregated_input_rows) / | 608 | 1 | static_cast<double>(ht_rows); | 609 | | | 610 | 1 | if (aggregated_input_rows <= 0) { | 611 | 0 | return true; | 612 | 0 | } | 613 | | | 614 | 1 | double min_reduction = reduction[cache_level].streaming_ht_min_reduction; | 615 | 1 | _should_expand_hash_table = current_reduction > min_reduction; | 616 | 1 | return _should_expand_hash_table; | 617 | 1 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext31should_expand_preagg_hash_tableEllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEbRT_ |
618 | 6 | } |
619 | | |
620 | | bool GroupByAggContext::should_skip_preagg(size_t rows, size_t mem_limit, int64_t input_rows, |
621 | 8 | int64_t returned_rows, bool is_single_backend) { |
622 | 8 | const bool used_too_much_memory = mem_limit > 0 && memory_usage() > mem_limit; |
623 | | |
624 | 8 | return agg_context_utils::visit_agg_method<bool>( |
625 | 8 | *_hash_table_data, [&](auto& agg_method) -> bool { |
626 | 8 | auto& hash_tbl = *agg_method.hash_table; |
627 | 8 | return used_too_much_memory || |
628 | 8 | (hash_tbl.add_elem_size_overflow(rows) && |
629 | 6 | !should_expand_preagg_hash_table(input_rows, returned_rows, |
630 | 6 | is_single_backend)); |
631 | 8 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEbRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEbRT_ Line | Count | Source | 625 | 4 | *_hash_table_data, [&](auto& agg_method) -> bool { | 626 | 4 | auto& hash_tbl = *agg_method.hash_table; | 627 | 4 | return used_too_much_memory || | 628 | 4 | (hash_tbl.add_elem_size_overflow(rows) && | 629 | 3 | !should_expand_preagg_hash_table(input_rows, returned_rows, | 630 | 3 | is_single_backend)); | 631 | 4 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEbRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEbRT_ Line | Count | Source | 625 | 4 | *_hash_table_data, [&](auto& agg_method) -> bool { | 626 | 4 | auto& hash_tbl = *agg_method.hash_table; | 627 | 4 | return used_too_much_memory || | 628 | 4 | (hash_tbl.add_elem_size_overflow(rows) && | 629 | 3 | !should_expand_preagg_hash_table(input_rows, returned_rows, | 630 | 3 | is_single_backend)); | 631 | 4 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEEbRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext18should_skip_preaggEmmllbENK3$_0clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEEbRT_ |
632 | 8 | } |
633 | | |
634 | | Status GroupByAggContext::streaming_serialize_passthrough(Block* in_block, Block* out_block, |
635 | | ColumnRawPtrs& key_columns, |
636 | 2 | uint32_t rows, bool mem_reuse) { |
637 | 2 | size_t key_size = _groupby_expr_ctxs.size(); |
638 | 2 | size_t agg_size = _agg_evaluators.size(); |
639 | | |
640 | 2 | DataTypes data_types(agg_size); |
641 | 4 | for (size_t i = 0; i < agg_size; ++i) { |
642 | 2 | data_types[i] = _agg_evaluators[i]->function()->get_serialized_type(); |
643 | 2 | } |
644 | | |
645 | 2 | auto value_columns = agg_context_utils::take_or_create_columns( |
646 | 2 | out_block, mem_reuse, key_size, agg_size, |
647 | 2 | [&](size_t i) { return _agg_evaluators[i]->function()->create_serialize_column(); }); |
648 | | |
649 | 4 | for (size_t i = 0; i < _agg_evaluators.size(); ++i) { |
650 | 2 | SCOPED_TIMER(_insert_values_to_column_timer); |
651 | 2 | RETURN_IF_ERROR(_agg_evaluators[i]->streaming_agg_serialize_to_column( |
652 | 2 | in_block, value_columns[i], rows, _agg_arena)); |
653 | 2 | } |
654 | | |
655 | 2 | if (!mem_reuse) { |
656 | 2 | agg_context_utils::build_serialized_output_block(out_block, key_columns, rows, |
657 | 2 | _groupby_expr_ctxs, value_columns, |
658 | 2 | data_types); |
659 | 2 | } else { |
660 | 0 | for (size_t i = 0; i < key_size; ++i) { |
661 | 0 | std::move(*out_block->get_by_position(i).column) |
662 | 0 | .mutate() |
663 | 0 | ->insert_range_from(*key_columns[i], 0, rows); |
664 | 0 | } |
665 | 0 | } |
666 | | |
667 | 2 | return Status::OK(); |
668 | 2 | } |
669 | | |
670 | | Status GroupByAggContext::preagg_emplace_and_forward(ColumnRawPtrs& key_columns, uint32_t num_rows, |
671 | 6 | Block* block) { |
672 | 6 | _places.resize(num_rows); |
673 | 6 | return emplace_and_forward(_places.data(), key_columns, num_rows, block, |
674 | 6 | _should_expand_hash_table); |
675 | 6 | } |
676 | | |
677 | | Status GroupByAggContext::emplace_and_forward_limit(Block* block, ColumnRawPtrs& key_columns, |
678 | 0 | uint32_t num_rows) { |
679 | 0 | _places.resize(num_rows); |
680 | 0 | bool need_agg = |
681 | 0 | emplace_into_hash_table_limit(_places.data(), block, nullptr, key_columns, num_rows); |
682 | 0 | if (need_agg) { |
683 | 0 | RETURN_IF_ERROR( |
684 | 0 | _execute_batch_add_evaluators(block, _places.data(), _should_expand_hash_table)); |
685 | 0 | } |
686 | 0 | return Status::OK(); |
687 | 0 | } |
688 | | |
689 | | // ==================== Limit check helpers ==================== |
690 | | |
691 | 39 | void GroupByAggContext::_check_limit_after_emplace() { |
692 | 39 | if (should_limit_output && !enable_spill) { |
693 | 12 | const size_t ht_size = hash_table_size(); |
694 | 12 | reach_limit = |
695 | 12 | ht_size >= (do_sort_limit ? limit * config::topn_agg_limit_multiplier : limit); |
696 | 12 | if (reach_limit && do_sort_limit) { |
697 | 3 | build_limit_heap(ht_size); |
698 | 3 | } |
699 | 12 | } |
700 | 39 | } |
701 | | |
702 | 6 | void GroupByAggContext::_check_limit_after_emplace_for_merge() { |
703 | 6 | if (should_limit_output) { |
704 | 6 | const size_t ht_size = hash_table_size(); |
705 | 6 | reach_limit = ht_size >= limit; |
706 | 6 | if (do_sort_limit && reach_limit) { |
707 | 1 | build_limit_heap(ht_size); |
708 | 1 | } |
709 | 6 | } |
710 | 6 | } |
711 | | |
712 | | template <bool limit, bool for_spill> |
713 | 33 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { |
714 | 33 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; |
715 | 33 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; |
716 | 33 | SCOPED_TIMER(merge_timer); |
717 | | |
718 | 33 | size_t key_size = _groupby_expr_ctxs.size(); |
719 | 33 | ColumnRawPtrs key_columns(key_size); |
720 | 33 | std::vector<int> key_locs(key_size); |
721 | | |
722 | 33 | if constexpr (for_spill) { |
723 | 48 | for (int i = 0; i < key_size; ++i) { |
724 | 24 | key_columns[i] = block->get_by_position(i).column.get(); |
725 | 24 | key_columns[i]->assume_mutable()->replace_float_special_values(); |
726 | 24 | key_locs[i] = i; |
727 | 24 | } |
728 | 24 | } else { |
729 | 9 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); |
730 | 9 | } |
731 | | |
732 | 9 | size_t rows = block->rows(); |
733 | 33 | if (_places.size() < rows) { |
734 | 6 | _places.resize(rows); |
735 | 6 | } |
736 | | |
737 | 33 | if (limit && !do_sort_limit) { |
738 | 2 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); |
739 | 2 | RETURN_IF_ERROR(_merge_evaluators_selected(block, rows, deser_timer)); |
740 | 31 | } else { |
741 | 31 | bool need_do_agg = true; |
742 | 31 | if (limit) { |
743 | 1 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, |
744 | 1 | key_columns, (uint32_t)rows); |
745 | 1 | rows = block->rows(); |
746 | 30 | } else { |
747 | 30 | if constexpr (for_spill) { |
748 | 24 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, |
749 | 24 | _source_hash_table_compute_timer, |
750 | 24 | _source_hash_table_emplace_timer, |
751 | 24 | _source_hash_table_input_counter); |
752 | 24 | } else { |
753 | 6 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, |
754 | 6 | _hash_table_compute_timer, _hash_table_emplace_timer, |
755 | 6 | _hash_table_input_counter); |
756 | 6 | } |
757 | 30 | } |
758 | | |
759 | 31 | if (need_do_agg) { |
760 | 31 | RETURN_IF_ERROR(_merge_evaluators<for_spill>(block, rows, deser_timer)); |
761 | 31 | } |
762 | | |
763 | 31 | if (!limit && should_limit_output) { |
764 | 6 | _check_limit_after_emplace_for_merge(); |
765 | 6 | } |
766 | 31 | } |
767 | | |
768 | 33 | return Status::OK(); |
769 | 33 | } _ZN5doris17GroupByAggContext33_merge_with_serialized_key_helperILb1ELb0EEENS_6StatusEPNS_5BlockE Line | Count | Source | 713 | 3 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { | 714 | 3 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; | 715 | 3 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; | 716 | 3 | SCOPED_TIMER(merge_timer); | 717 | | | 718 | 3 | size_t key_size = _groupby_expr_ctxs.size(); | 719 | 3 | ColumnRawPtrs key_columns(key_size); | 720 | 3 | std::vector<int> key_locs(key_size); | 721 | | | 722 | | if constexpr (for_spill) { | 723 | | for (int i = 0; i < key_size; ++i) { | 724 | | key_columns[i] = block->get_by_position(i).column.get(); | 725 | | key_columns[i]->assume_mutable()->replace_float_special_values(); | 726 | | key_locs[i] = i; | 727 | | } | 728 | 3 | } else { | 729 | 3 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); | 730 | 3 | } | 731 | | | 732 | 3 | size_t rows = block->rows(); | 733 | 3 | if (_places.size() < rows) { | 734 | 0 | _places.resize(rows); | 735 | 0 | } | 736 | | | 737 | 3 | if (limit && !do_sort_limit) { | 738 | 2 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); | 739 | 2 | RETURN_IF_ERROR(_merge_evaluators_selected(block, rows, deser_timer)); | 740 | 2 | } else { | 741 | 1 | bool need_do_agg = true; | 742 | 1 | if (limit) { | 743 | 1 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, | 744 | 1 | key_columns, (uint32_t)rows); | 745 | 1 | rows = block->rows(); | 746 | 1 | } else { | 747 | | if constexpr (for_spill) { | 748 | | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 749 | | _source_hash_table_compute_timer, | 750 | | _source_hash_table_emplace_timer, | 751 | | _source_hash_table_input_counter); | 752 | 0 | } else { | 753 | 0 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 754 | 0 | _hash_table_compute_timer, _hash_table_emplace_timer, | 755 | 0 | _hash_table_input_counter); | 756 | 0 | } | 757 | 0 | } | 758 | | | 759 | 1 | if (need_do_agg) { | 760 | 1 | RETURN_IF_ERROR(_merge_evaluators<for_spill>(block, rows, deser_timer)); | 761 | 1 | } | 762 | | | 763 | 1 | if (!limit && should_limit_output) { | 764 | 0 | _check_limit_after_emplace_for_merge(); | 765 | 0 | } | 766 | 1 | } | 767 | | | 768 | 3 | return Status::OK(); | 769 | 3 | } |
_ZN5doris17GroupByAggContext33_merge_with_serialized_key_helperILb0ELb0EEENS_6StatusEPNS_5BlockE Line | Count | Source | 713 | 6 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { | 714 | 6 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; | 715 | 6 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; | 716 | 6 | SCOPED_TIMER(merge_timer); | 717 | | | 718 | 6 | size_t key_size = _groupby_expr_ctxs.size(); | 719 | 6 | ColumnRawPtrs key_columns(key_size); | 720 | 6 | std::vector<int> key_locs(key_size); | 721 | | | 722 | | if constexpr (for_spill) { | 723 | | for (int i = 0; i < key_size; ++i) { | 724 | | key_columns[i] = block->get_by_position(i).column.get(); | 725 | | key_columns[i]->assume_mutable()->replace_float_special_values(); | 726 | | key_locs[i] = i; | 727 | | } | 728 | 6 | } else { | 729 | 6 | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); | 730 | 6 | } | 731 | | | 732 | 6 | size_t rows = block->rows(); | 733 | 6 | if (_places.size() < rows) { | 734 | 6 | _places.resize(rows); | 735 | 6 | } | 736 | | | 737 | 6 | if (limit && !do_sort_limit) { | 738 | 0 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); | 739 | 0 | RETURN_IF_ERROR(_merge_evaluators_selected(block, rows, deser_timer)); | 740 | 6 | } else { | 741 | 6 | bool need_do_agg = true; | 742 | 6 | if (limit) { | 743 | 0 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, | 744 | 0 | key_columns, (uint32_t)rows); | 745 | 0 | rows = block->rows(); | 746 | 6 | } else { | 747 | | if constexpr (for_spill) { | 748 | | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 749 | | _source_hash_table_compute_timer, | 750 | | _source_hash_table_emplace_timer, | 751 | | _source_hash_table_input_counter); | 752 | 6 | } else { | 753 | 6 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 754 | 6 | _hash_table_compute_timer, _hash_table_emplace_timer, | 755 | 6 | _hash_table_input_counter); | 756 | 6 | } | 757 | 6 | } | 758 | | | 759 | 6 | if (need_do_agg) { | 760 | 6 | RETURN_IF_ERROR(_merge_evaluators<for_spill>(block, rows, deser_timer)); | 761 | 6 | } | 762 | | | 763 | 6 | if (!limit && should_limit_output) { | 764 | 6 | _check_limit_after_emplace_for_merge(); | 765 | 6 | } | 766 | 6 | } | 767 | | | 768 | 6 | return Status::OK(); | 769 | 6 | } |
_ZN5doris17GroupByAggContext33_merge_with_serialized_key_helperILb0ELb1EEENS_6StatusEPNS_5BlockE Line | Count | Source | 713 | 24 | Status GroupByAggContext::_merge_with_serialized_key_helper(Block* block) { | 714 | 24 | auto* merge_timer = for_spill ? _source_merge_timer : _merge_timer; | 715 | 24 | auto* deser_timer = for_spill ? _source_deserialize_data_timer : _deserialize_data_timer; | 716 | 24 | SCOPED_TIMER(merge_timer); | 717 | | | 718 | 24 | size_t key_size = _groupby_expr_ctxs.size(); | 719 | 24 | ColumnRawPtrs key_columns(key_size); | 720 | 24 | std::vector<int> key_locs(key_size); | 721 | | | 722 | 24 | if constexpr (for_spill) { | 723 | 48 | for (int i = 0; i < key_size; ++i) { | 724 | 24 | key_columns[i] = block->get_by_position(i).column.get(); | 725 | 24 | key_columns[i]->assume_mutable()->replace_float_special_values(); | 726 | 24 | key_locs[i] = i; | 727 | 24 | } | 728 | | } else { | 729 | | RETURN_IF_ERROR(evaluate_groupby_keys(block, key_columns, &key_locs)); | 730 | | } | 731 | | | 732 | 24 | size_t rows = block->rows(); | 733 | 24 | if (_places.size() < rows) { | 734 | 0 | _places.resize(rows); | 735 | 0 | } | 736 | | | 737 | 24 | if (limit && !do_sort_limit) { | 738 | 0 | find_in_hash_table(_places.data(), key_columns, (uint32_t)rows); | 739 | 0 | RETURN_IF_ERROR(_merge_evaluators_selected(block, rows, deser_timer)); | 740 | 24 | } else { | 741 | 24 | bool need_do_agg = true; | 742 | 24 | if (limit) { | 743 | 0 | need_do_agg = emplace_into_hash_table_limit(_places.data(), block, &key_locs, | 744 | 0 | key_columns, (uint32_t)rows); | 745 | 0 | rows = block->rows(); | 746 | 24 | } else { | 747 | 24 | if constexpr (for_spill) { | 748 | 24 | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 749 | 24 | _source_hash_table_compute_timer, | 750 | 24 | _source_hash_table_emplace_timer, | 751 | 24 | _source_hash_table_input_counter); | 752 | | } else { | 753 | | emplace_into_hash_table(_places.data(), key_columns, (uint32_t)rows, | 754 | | _hash_table_compute_timer, _hash_table_emplace_timer, | 755 | | _hash_table_input_counter); | 756 | | } | 757 | 24 | } | 758 | | | 759 | 24 | if (need_do_agg) { | 760 | 24 | RETURN_IF_ERROR(_merge_evaluators<for_spill>(block, rows, deser_timer)); | 761 | 24 | } | 762 | | | 763 | 24 | if (!limit && should_limit_output) { | 764 | 0 | _check_limit_after_emplace_for_merge(); | 765 | 0 | } | 766 | 24 | } | 767 | | | 768 | 24 | return Status::OK(); | 769 | 24 | } |
|
770 | | |
771 | | // Explicit template instantiation |
772 | | template Status GroupByAggContext::_merge_with_serialized_key_helper<true, false>(Block* block); |
773 | | template Status GroupByAggContext::_merge_with_serialized_key_helper<false, false>(Block* block); |
774 | | template Status GroupByAggContext::_merge_with_serialized_key_helper<false, true>(Block* block); |
775 | | |
776 | | // ==================== Result output ==================== |
777 | | |
778 | 43 | Status GroupByAggContext::get_serialized_results(RuntimeState* state, Block* block, bool* eos) { |
779 | 43 | SCOPED_TIMER(_get_results_timer); |
780 | 43 | size_t key_size = _groupby_expr_ctxs.size(); |
781 | 43 | size_t agg_size = _agg_evaluators.size(); |
782 | 43 | MutableColumns value_columns(agg_size); |
783 | 43 | DataTypes value_data_types(agg_size); |
784 | | |
785 | 43 | bool mem_reuse = make_nullable_keys.empty() && block->mem_reuse(); |
786 | | |
787 | 43 | auto key_columns = agg_context_utils::take_or_create_columns( |
788 | 43 | block, mem_reuse, 0, key_size, |
789 | 43 | [&](size_t i) { return _groupby_expr_ctxs[i]->root()->data_type()->create_column(); }); |
790 | | |
791 | 43 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { |
792 | 43 | agg_method.init_iterator(); |
793 | 43 | auto& data = *agg_method.hash_table; |
794 | 43 | const auto size = std::min(data.size(), size_t(state->batch_size())); |
795 | 43 | using KeyType = std::decay_t<decltype(agg_method)>::Key; |
796 | 43 | std::vector<KeyType> keys(size); |
797 | | |
798 | 43 | if (_values.size() < size + 1) { |
799 | 21 | _values.resize(size + 1); |
800 | 21 | } |
801 | | |
802 | 43 | uint32_t num_rows = 0; |
803 | 43 | _agg_data_container->init_once(); |
804 | 43 | auto& iter = _agg_data_container->iterator; |
805 | | |
806 | 43 | { |
807 | 43 | SCOPED_TIMER(_hash_table_iterate_timer); |
808 | 10.0k | while (iter != _agg_data_container->end() && num_rows < state->batch_size()) { |
809 | 10.0k | keys[num_rows] = iter.template get_key<KeyType>(); |
810 | 10.0k | _values[num_rows] = iter.get_aggregate_data(); |
811 | 10.0k | ++iter; |
812 | 10.0k | ++num_rows; |
813 | 10.0k | } |
814 | 43 | } |
815 | | |
816 | 43 | { |
817 | 43 | SCOPED_TIMER(_insert_keys_to_column_timer); |
818 | 43 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); |
819 | 43 | } |
820 | | |
821 | 43 | if (iter == _agg_data_container->end()) { |
822 | 43 | if (agg_method.hash_table->has_null_key_data()) { |
823 | 3 | DCHECK(key_columns.size() == 1); |
824 | 3 | DCHECK(key_columns[0]->is_nullable()); |
825 | 3 | key_columns[0]->insert_data(nullptr, 0); |
826 | 3 | _values[num_rows] = |
827 | 3 | agg_method.hash_table->template get_null_key_data<AggregateDataPtr>(); |
828 | 3 | ++num_rows; |
829 | 3 | *eos = true; |
830 | 40 | } else { |
831 | 40 | *eos = true; |
832 | 40 | } |
833 | 43 | } |
834 | | |
835 | 43 | { |
836 | 43 | SCOPED_TIMER(_insert_values_to_column_timer); |
837 | 43 | _serialize_agg_values(value_columns, value_data_types, block, mem_reuse, key_size, |
838 | 43 | num_rows); |
839 | 43 | } |
840 | 43 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashISA_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISB_Pc9HashCRC32ISB_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISB_Pc9HashCRC32ISB_EEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ Line | Count | Source | 791 | 34 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 792 | 34 | agg_method.init_iterator(); | 793 | 34 | auto& data = *agg_method.hash_table; | 794 | 34 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 795 | 34 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 796 | 34 | std::vector<KeyType> keys(size); | 797 | | | 798 | 34 | if (_values.size() < size + 1) { | 799 | 12 | _values.resize(size + 1); | 800 | 12 | } | 801 | | | 802 | 34 | uint32_t num_rows = 0; | 803 | 34 | _agg_data_container->init_once(); | 804 | 34 | auto& iter = _agg_data_container->iterator; | 805 | | | 806 | 34 | { | 807 | 34 | SCOPED_TIMER(_hash_table_iterate_timer); | 808 | 10.0k | while (iter != _agg_data_container->end() && num_rows < state->batch_size()) { | 809 | 10.0k | keys[num_rows] = iter.template get_key<KeyType>(); | 810 | 10.0k | _values[num_rows] = iter.get_aggregate_data(); | 811 | 10.0k | ++iter; | 812 | 10.0k | ++num_rows; | 813 | 10.0k | } | 814 | 34 | } | 815 | | | 816 | 34 | { | 817 | 34 | SCOPED_TIMER(_insert_keys_to_column_timer); | 818 | 34 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 819 | 34 | } | 820 | | | 821 | 34 | if (iter == _agg_data_container->end()) { | 822 | 34 | if (agg_method.hash_table->has_null_key_data()) { | 823 | 0 | DCHECK(key_columns.size() == 1); | 824 | 0 | DCHECK(key_columns[0]->is_nullable()); | 825 | 0 | key_columns[0]->insert_data(nullptr, 0); | 826 | 0 | _values[num_rows] = | 827 | 0 | agg_method.hash_table->template get_null_key_data<AggregateDataPtr>(); | 828 | 0 | ++num_rows; | 829 | 0 | *eos = true; | 830 | 34 | } else { | 831 | 34 | *eos = true; | 832 | 34 | } | 833 | 34 | } | 834 | | | 835 | 34 | { | 836 | 34 | SCOPED_TIMER(_insert_values_to_column_timer); | 837 | 34 | _serialize_agg_values(value_columns, value_data_types, block, mem_reuse, key_size, | 838 | 34 | num_rows); | 839 | 34 | } | 840 | 34 | }); |
groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 791 | 6 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 792 | 6 | agg_method.init_iterator(); | 793 | 6 | auto& data = *agg_method.hash_table; | 794 | 6 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 795 | 6 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 796 | 6 | std::vector<KeyType> keys(size); | 797 | | | 798 | 6 | if (_values.size() < size + 1) { | 799 | 6 | _values.resize(size + 1); | 800 | 6 | } | 801 | | | 802 | 6 | uint32_t num_rows = 0; | 803 | 6 | _agg_data_container->init_once(); | 804 | 6 | auto& iter = _agg_data_container->iterator; | 805 | | | 806 | 6 | { | 807 | 6 | SCOPED_TIMER(_hash_table_iterate_timer); | 808 | 30 | while (iter != _agg_data_container->end() && num_rows < state->batch_size()) { | 809 | 24 | keys[num_rows] = iter.template get_key<KeyType>(); | 810 | 24 | _values[num_rows] = iter.get_aggregate_data(); | 811 | 24 | ++iter; | 812 | 24 | ++num_rows; | 813 | 24 | } | 814 | 6 | } | 815 | | | 816 | 6 | { | 817 | 6 | SCOPED_TIMER(_insert_keys_to_column_timer); | 818 | 6 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 819 | 6 | } | 820 | | | 821 | 6 | if (iter == _agg_data_container->end()) { | 822 | 6 | if (agg_method.hash_table->has_null_key_data()) { | 823 | 0 | DCHECK(key_columns.size() == 1); | 824 | 0 | DCHECK(key_columns[0]->is_nullable()); | 825 | 0 | key_columns[0]->insert_data(nullptr, 0); | 826 | 0 | _values[num_rows] = | 827 | 0 | agg_method.hash_table->template get_null_key_data<AggregateDataPtr>(); | 828 | 0 | ++num_rows; | 829 | 0 | *eos = true; | 830 | 6 | } else { | 831 | 6 | *eos = true; | 832 | 6 | } | 833 | 6 | } | 834 | | | 835 | 6 | { | 836 | 6 | SCOPED_TIMER(_insert_values_to_column_timer); | 837 | 6 | _serialize_agg_values(value_columns, value_data_types, block, mem_reuse, key_size, | 838 | 6 | num_rows); | 839 | 6 | } | 840 | 6 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 791 | 3 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 792 | 3 | agg_method.init_iterator(); | 793 | 3 | auto& data = *agg_method.hash_table; | 794 | 3 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 795 | 3 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 796 | 3 | std::vector<KeyType> keys(size); | 797 | | | 798 | 3 | if (_values.size() < size + 1) { | 799 | 3 | _values.resize(size + 1); | 800 | 3 | } | 801 | | | 802 | 3 | uint32_t num_rows = 0; | 803 | 3 | _agg_data_container->init_once(); | 804 | 3 | auto& iter = _agg_data_container->iterator; | 805 | | | 806 | 3 | { | 807 | 3 | SCOPED_TIMER(_hash_table_iterate_timer); | 808 | 11 | while (iter != _agg_data_container->end() && num_rows < state->batch_size()) { | 809 | 8 | keys[num_rows] = iter.template get_key<KeyType>(); | 810 | 8 | _values[num_rows] = iter.get_aggregate_data(); | 811 | 8 | ++iter; | 812 | 8 | ++num_rows; | 813 | 8 | } | 814 | 3 | } | 815 | | | 816 | 3 | { | 817 | 3 | SCOPED_TIMER(_insert_keys_to_column_timer); | 818 | 3 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 819 | 3 | } | 820 | | | 821 | 3 | if (iter == _agg_data_container->end()) { | 822 | 3 | if (agg_method.hash_table->has_null_key_data()) { | 823 | 3 | DCHECK(key_columns.size() == 1); | 824 | 3 | DCHECK(key_columns[0]->is_nullable()); | 825 | 3 | key_columns[0]->insert_data(nullptr, 0); | 826 | 3 | _values[num_rows] = | 827 | 3 | agg_method.hash_table->template get_null_key_data<AggregateDataPtr>(); | 828 | 3 | ++num_rows; | 829 | 3 | *eos = true; | 830 | 3 | } else { | 831 | 0 | *eos = true; | 832 | 0 | } | 833 | 3 | } | 834 | | | 835 | 3 | { | 836 | 3 | SCOPED_TIMER(_insert_values_to_column_timer); | 837 | 3 | _serialize_agg_values(value_columns, value_data_types, block, mem_reuse, key_size, | 838 | 3 | num_rows); | 839 | 3 | } | 840 | 3 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISC_Pc9HashCRC32ISC_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISC_Pc9HashCRC32ISC_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32ISA_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32ISA_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32ISA_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32ISC_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32ISA_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext22get_serialized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbENK3$_1clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32ISC_EEEEEEDaRT_ |
841 | | |
842 | 43 | if (!mem_reuse) { |
843 | 21 | agg_context_utils::build_serialized_output_block(block, key_columns, _groupby_expr_ctxs, |
844 | 21 | value_columns, value_data_types); |
845 | 21 | } |
846 | | |
847 | 43 | return Status::OK(); |
848 | 43 | } |
849 | | |
850 | | Status GroupByAggContext::get_finalized_results(RuntimeState* state, Block* block, bool* eos, |
851 | 11 | const ColumnsWithTypeAndName& columns_with_schema) { |
852 | 11 | bool mem_reuse = make_nullable_keys.empty() && block->mem_reuse(); |
853 | | |
854 | 11 | size_t key_size = _groupby_expr_ctxs.size(); |
855 | | |
856 | 11 | auto key_columns = agg_context_utils::take_or_create_columns( |
857 | 11 | block, mem_reuse, 0, key_size, |
858 | 11 | [&](size_t i) { return columns_with_schema[i].type->create_column(); }); |
859 | 11 | auto value_columns = agg_context_utils::take_or_create_columns( |
860 | 11 | block, mem_reuse, key_size, columns_with_schema.size() - key_size, |
861 | 11 | [&](size_t i) { return columns_with_schema[key_size + i].type->create_column(); }); |
862 | | |
863 | 11 | SCOPED_TIMER(_get_results_timer); |
864 | 11 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { |
865 | 11 | auto& data = *agg_method.hash_table; |
866 | 11 | agg_method.init_iterator(); |
867 | 11 | const auto size = std::min(data.size(), size_t(state->batch_size())); |
868 | 11 | using KeyType = std::decay_t<decltype(agg_method)>::Key; |
869 | 11 | std::vector<KeyType> keys(size); |
870 | | |
871 | 11 | if (_values.size() < size) { |
872 | 11 | _values.resize(size); |
873 | 11 | } |
874 | | |
875 | 11 | uint32_t num_rows = 0; |
876 | 11 | _agg_data_container->init_once(); |
877 | 11 | auto& iter = _agg_data_container->iterator; |
878 | | |
879 | 11 | { |
880 | 11 | SCOPED_TIMER(_hash_table_iterate_timer); |
881 | 56 | while (iter != _agg_data_container->end() && num_rows < state->batch_size()) { |
882 | 45 | keys[num_rows] = iter.template get_key<KeyType>(); |
883 | 45 | _values[num_rows] = iter.get_aggregate_data(); |
884 | 45 | ++iter; |
885 | 45 | ++num_rows; |
886 | 45 | } |
887 | 11 | } |
888 | | |
889 | 11 | { |
890 | 11 | SCOPED_TIMER(_insert_keys_to_column_timer); |
891 | 11 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); |
892 | 11 | } |
893 | | |
894 | 11 | _insert_finalized_values(value_columns, num_rows); |
895 | | |
896 | 11 | if (iter == _agg_data_container->end()) { |
897 | 11 | if (agg_method.hash_table->has_null_key_data()) { |
898 | 3 | DCHECK(key_columns.size() == 1); |
899 | 3 | DCHECK(key_columns[0]->is_nullable()); |
900 | 3 | if (key_columns[0]->size() < state->batch_size()) { |
901 | 3 | key_columns[0]->insert_data(nullptr, 0); |
902 | 3 | auto mapped = |
903 | 3 | agg_method.hash_table->template get_null_key_data<AggregateDataPtr>(); |
904 | 3 | _insert_finalized_single(mapped, value_columns); |
905 | 3 | *eos = true; |
906 | 3 | } |
907 | 8 | } else { |
908 | 8 | *eos = true; |
909 | 8 | } |
910 | 11 | } |
911 | 11 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashISG_vEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapISH_Pc9HashCRC32ISH_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapISH_Pc9HashCRC32ISH_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEDaRT_ Line | Count | Source | 864 | 8 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 865 | 8 | auto& data = *agg_method.hash_table; | 866 | 8 | agg_method.init_iterator(); | 867 | 8 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 868 | 8 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 869 | 8 | std::vector<KeyType> keys(size); | 870 | | | 871 | 8 | if (_values.size() < size) { | 872 | 8 | _values.resize(size); | 873 | 8 | } | 874 | | | 875 | 8 | uint32_t num_rows = 0; | 876 | 8 | _agg_data_container->init_once(); | 877 | 8 | auto& iter = _agg_data_container->iterator; | 878 | | | 879 | 8 | { | 880 | 8 | SCOPED_TIMER(_hash_table_iterate_timer); | 881 | 39 | while (iter != _agg_data_container->end() && num_rows < state->batch_size()) { | 882 | 31 | keys[num_rows] = iter.template get_key<KeyType>(); | 883 | 31 | _values[num_rows] = iter.get_aggregate_data(); | 884 | 31 | ++iter; | 885 | 31 | ++num_rows; | 886 | 31 | } | 887 | 8 | } | 888 | | | 889 | 8 | { | 890 | 8 | SCOPED_TIMER(_insert_keys_to_column_timer); | 891 | 8 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 892 | 8 | } | 893 | | | 894 | 8 | _insert_finalized_values(value_columns, num_rows); | 895 | | | 896 | 8 | if (iter == _agg_data_container->end()) { | 897 | 8 | if (agg_method.hash_table->has_null_key_data()) { | 898 | 0 | DCHECK(key_columns.size() == 1); | 899 | 0 | DCHECK(key_columns[0]->is_nullable()); | 900 | 0 | if (key_columns[0]->size() < state->batch_size()) { | 901 | 0 | key_columns[0]->insert_data(nullptr, 0); | 902 | 0 | auto mapped = | 903 | 0 | agg_method.hash_table->template get_null_key_data<AggregateDataPtr>(); | 904 | 0 | _insert_finalized_single(mapped, value_columns); | 905 | 0 | *eos = true; | 906 | 0 | } | 907 | 8 | } else { | 908 | 8 | *eos = true; | 909 | 8 | } | 910 | 8 | } | 911 | 8 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEEDaRT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEEDaRT_ Line | Count | Source | 864 | 3 | agg_context_utils::visit_agg_method(*_hash_table_data, [&](auto& agg_method) { | 865 | 3 | auto& data = *agg_method.hash_table; | 866 | 3 | agg_method.init_iterator(); | 867 | 3 | const auto size = std::min(data.size(), size_t(state->batch_size())); | 868 | 3 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 869 | 3 | std::vector<KeyType> keys(size); | 870 | | | 871 | 3 | if (_values.size() < size) { | 872 | 3 | _values.resize(size); | 873 | 3 | } | 874 | | | 875 | 3 | uint32_t num_rows = 0; | 876 | 3 | _agg_data_container->init_once(); | 877 | 3 | auto& iter = _agg_data_container->iterator; | 878 | | | 879 | 3 | { | 880 | 3 | SCOPED_TIMER(_hash_table_iterate_timer); | 881 | 17 | while (iter != _agg_data_container->end() && num_rows < state->batch_size()) { | 882 | 14 | keys[num_rows] = iter.template get_key<KeyType>(); | 883 | 14 | _values[num_rows] = iter.get_aggregate_data(); | 884 | 14 | ++iter; | 885 | 14 | ++num_rows; | 886 | 14 | } | 887 | 3 | } | 888 | | | 889 | 3 | { | 890 | 3 | SCOPED_TIMER(_insert_keys_to_column_timer); | 891 | 3 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 892 | 3 | } | 893 | | | 894 | 3 | _insert_finalized_values(value_columns, num_rows); | 895 | | | 896 | 3 | if (iter == _agg_data_container->end()) { | 897 | 3 | if (agg_method.hash_table->has_null_key_data()) { | 898 | 3 | DCHECK(key_columns.size() == 1); | 899 | 3 | DCHECK(key_columns[0]->is_nullable()); | 900 | 3 | if (key_columns[0]->size() < state->batch_size()) { | 901 | 3 | key_columns[0]->insert_data(nullptr, 0); | 902 | 3 | auto mapped = | 903 | 3 | agg_method.hash_table->template get_null_key_data<AggregateDataPtr>(); | 904 | 3 | _insert_finalized_single(mapped, value_columns); | 905 | 3 | *eos = true; | 906 | 3 | } | 907 | 3 | } else { | 908 | 0 | *eos = true; | 909 | 0 | } | 910 | 3 | } | 911 | 3 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapISI_Pc9HashCRC32ISI_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapISI_Pc9HashCRC32ISI_EEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32ISG_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32ISG_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32ISG_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32ISI_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32ISG_EEEEEEDaRT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext21get_finalized_resultsEPNS_12RuntimeStateEPNS_5BlockEPbRKSt6vectorINS_21ColumnWithTypeAndNameESaIS7_EEENK3$_2clINS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32ISI_EEEEEEDaRT_ |
912 | | |
913 | 11 | if (!mem_reuse) { |
914 | 11 | agg_context_utils::assemble_finalized_output(block, columns_with_schema, key_columns, |
915 | 11 | value_columns, key_size); |
916 | 11 | } |
917 | | |
918 | 11 | return Status::OK(); |
919 | 11 | } |
920 | | |
921 | | // ==================== Sort limit ==================== |
922 | | |
923 | 4 | MutableColumns GroupByAggContext::_get_keys_hash_table() { |
924 | 4 | return agg_context_utils::visit_agg_method<MutableColumns>( |
925 | 4 | *_hash_table_data, [&](auto&& agg_method) -> MutableColumns { |
926 | 4 | MutableColumns key_columns; |
927 | 8 | for (int i = 0; i < _groupby_expr_ctxs.size(); ++i) { |
928 | 4 | key_columns.emplace_back( |
929 | 4 | _groupby_expr_ctxs[i]->root()->data_type()->create_column()); |
930 | 4 | } |
931 | 4 | auto& data = *agg_method.hash_table; |
932 | 4 | bool has_null_key = data.has_null_key_data(); |
933 | 4 | const auto size = data.size() - has_null_key; |
934 | 4 | using KeyType = std::decay_t<decltype(agg_method)>::Key; |
935 | 4 | std::vector<KeyType> keys(size); |
936 | | |
937 | 4 | uint32_t num_rows = 0; |
938 | 4 | auto iter = _agg_data_container->begin(); |
939 | 4 | { |
940 | 27 | while (iter != _agg_data_container->end()) { |
941 | 23 | keys[num_rows] = iter.get_key<KeyType>(); |
942 | 23 | ++iter; |
943 | 23 | ++num_rows; |
944 | 23 | } |
945 | 4 | } |
946 | 4 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); |
947 | 4 | if (has_null_key) { |
948 | 1 | key_columns[0]->insert_data(nullptr, 0); |
949 | 1 | } |
950 | 4 | return key_columns; |
951 | 4 | }); Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_16MethodSerializedI9PHHashMapINS_9StringRefEPc11DefaultHashIS5_vEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIh9PHHashMapIhPc9HashCRC32IhEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIt9PHHashMapItPc9HashCRC32ItEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjPc9HashCRC32IjEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImPc9HashCRC32ImEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_19MethodStringNoCacheINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm128EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIN4wide7integerILm256EjEE9PHHashMapIS6_Pc9HashCRC32IS6_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIj9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISF_EESaISI_EEOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodOneNumberIm9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISF_EESaISI_EEOT_ Line | Count | Source | 925 | 2 | *_hash_table_data, [&](auto&& agg_method) -> MutableColumns { | 926 | 2 | MutableColumns key_columns; | 927 | 4 | for (int i = 0; i < _groupby_expr_ctxs.size(); ++i) { | 928 | 2 | key_columns.emplace_back( | 929 | 2 | _groupby_expr_ctxs[i]->root()->data_type()->create_column()); | 930 | 2 | } | 931 | 2 | auto& data = *agg_method.hash_table; | 932 | 2 | bool has_null_key = data.has_null_key_data(); | 933 | 2 | const auto size = data.size() - has_null_key; | 934 | 2 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 935 | 2 | std::vector<KeyType> keys(size); | 936 | | | 937 | 2 | uint32_t num_rows = 0; | 938 | 2 | auto iter = _agg_data_container->begin(); | 939 | 2 | { | 940 | 14 | while (iter != _agg_data_container->end()) { | 941 | 12 | keys[num_rows] = iter.get_key<KeyType>(); | 942 | 12 | ++iter; | 943 | 12 | ++num_rows; | 944 | 12 | } | 945 | 2 | } | 946 | 2 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 947 | 2 | if (has_null_key) { | 948 | 0 | key_columns[0]->insert_data(nullptr, 0); | 949 | 0 | } | 950 | 2 | return key_columns; | 951 | 2 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIhNS_15DataWithNullKeyI9PHHashMapIhPc9HashCRC32IhEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberItNS_15DataWithNullKeyI9PHHashMapItPc9HashCRC32ItEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc9HashCRC32IjEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc9HashCRC32ImEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISH_EESaISK_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIjNS_15DataWithNullKeyI9PHHashMapIjPc14HashMixWrapperIj9HashCRC32IjEEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISJ_EESaISM_EEOT_ groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberImNS_15DataWithNullKeyI9PHHashMapImPc14HashMixWrapperIm9HashCRC32ImEEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISJ_EESaISM_EEOT_ Line | Count | Source | 925 | 2 | *_hash_table_data, [&](auto&& agg_method) -> MutableColumns { | 926 | 2 | MutableColumns key_columns; | 927 | 4 | for (int i = 0; i < _groupby_expr_ctxs.size(); ++i) { | 928 | 2 | key_columns.emplace_back( | 929 | 2 | _groupby_expr_ctxs[i]->root()->data_type()->create_column()); | 930 | 2 | } | 931 | 2 | auto& data = *agg_method.hash_table; | 932 | 2 | bool has_null_key = data.has_null_key_data(); | 933 | 2 | const auto size = data.size() - has_null_key; | 934 | 2 | using KeyType = std::decay_t<decltype(agg_method)>::Key; | 935 | 2 | std::vector<KeyType> keys(size); | 936 | | | 937 | 2 | uint32_t num_rows = 0; | 938 | 2 | auto iter = _agg_data_container->begin(); | 939 | 2 | { | 940 | 13 | while (iter != _agg_data_container->end()) { | 941 | 11 | keys[num_rows] = iter.get_key<KeyType>(); | 942 | 11 | ++iter; | 943 | 11 | ++num_rows; | 944 | 11 | } | 945 | 2 | } | 946 | 2 | agg_method.insert_keys_into_columns(keys, key_columns, num_rows); | 947 | 2 | if (has_null_key) { | 948 | 1 | key_columns[0]->insert_data(nullptr, 0); | 949 | 1 | } | 950 | 2 | return key_columns; | 951 | 2 | }); |
Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm128EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISK_EESaISN_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_15MethodOneNumberIN4wide7integerILm256EjEENS_15DataWithNullKeyI9PHHashMapIS7_Pc9HashCRC32IS7_EEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISK_EESaISN_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_26MethodSingleNullableColumnINS_19MethodStringNoCacheINS_15DataWithNullKeyINS_13StringHashMapIPcNS_9AllocatorILb1ELb1ELb0ENS_22DefaultMemoryAllocatorELb1EEEEEEEEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISI_EESaISL_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapImPc9HashCRC32ImEEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISD_EESaISG_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt72EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_6UInt96EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt104EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm128EjEEPc9HashCRC32IS7_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapINS_7UInt136EPc9HashCRC32IS5_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISE_EESaISH_EEOT_ Unexecuted instantiation: groupby_agg_context.cpp:_ZZN5doris17GroupByAggContext20_get_keys_hash_tableEvENK3$_0clIRNS_15MethodKeysFixedI9PHHashMapIN4wide7integerILm256EjEEPc9HashCRC32IS7_EEEEEESt6vectorINS_3COWINS_7IColumnEE11mutable_ptrISG_EESaISJ_EEOT_ |
952 | 4 | } |
953 | | |
954 | 4 | void GroupByAggContext::build_limit_heap(size_t hash_table_size_val) { |
955 | 4 | _limit_columns = _get_keys_hash_table(); |
956 | 28 | for (size_t i = 0; i < hash_table_size_val; ++i) { |
957 | 24 | _limit_heap.emplace(i, _limit_columns, order_directions, null_directions); |
958 | 24 | } |
959 | 16 | while (hash_table_size_val > limit) { |
960 | 12 | _limit_heap.pop(); |
961 | 12 | hash_table_size_val--; |
962 | 12 | } |
963 | 4 | _limit_columns_min = _limit_heap.top()._row_id; |
964 | 4 | } |
965 | | |
966 | 8 | bool GroupByAggContext::do_limit_filter(size_t num_rows, const ColumnRawPtrs& key_columns) { |
967 | 8 | if (num_rows) { |
968 | 8 | _cmp_res.resize(num_rows); |
969 | 8 | _need_computes.resize(num_rows); |
970 | 8 | memset(_need_computes.data(), 0, _need_computes.size()); |
971 | 8 | memset(_cmp_res.data(), 0, _cmp_res.size()); |
972 | | |
973 | 8 | const auto key_size = null_directions.size(); |
974 | 16 | for (int i = 0; i < key_size; i++) { |
975 | 8 | key_columns[i]->compare_internal(_limit_columns_min, *_limit_columns[i], |
976 | 8 | null_directions[i], order_directions[i], _cmp_res, |
977 | 8 | _need_computes.data()); |
978 | 8 | } |
979 | | |
980 | 8 | auto set_computes_arr = [](auto* __restrict res, auto* __restrict computes, size_t rows) { |
981 | 58 | for (size_t i = 0; i < rows; ++i) { |
982 | 50 | computes[i] = computes[i] == res[i]; |
983 | 50 | } |
984 | 8 | }; |
985 | 8 | set_computes_arr(_cmp_res.data(), _need_computes.data(), num_rows); |
986 | | |
987 | 8 | return std::find(_need_computes.begin(), _need_computes.end(), 0) != _need_computes.end(); |
988 | 8 | } |
989 | | |
990 | 0 | return false; |
991 | 8 | } |
992 | | |
993 | 4 | void GroupByAggContext::refresh_top_limit(size_t row_id, const ColumnRawPtrs& key_columns) { |
994 | 8 | for (int j = 0; j < key_columns.size(); ++j) { |
995 | 4 | _limit_columns[j]->insert_from(*key_columns[j], row_id); |
996 | 4 | } |
997 | 4 | _limit_heap.emplace(_limit_columns[0]->size() - 1, _limit_columns, order_directions, |
998 | 4 | null_directions); |
999 | | |
1000 | 4 | _limit_heap.pop(); |
1001 | 4 | _limit_columns_min = _limit_heap.top()._row_id; |
1002 | 4 | } |
1003 | | |
1004 | 0 | void GroupByAggContext::add_limit_heap_top(ColumnRawPtrs& key_columns, size_t rows) { |
1005 | 0 | for (size_t i = 0; i < rows; ++i) { |
1006 | 0 | if (_cmp_res[i] == 1 && _need_computes[i]) { |
1007 | 0 | for (size_t j = 0; j < key_columns.size(); ++j) { |
1008 | 0 | _limit_columns[j]->insert_from(*key_columns[j], i); |
1009 | 0 | } |
1010 | 0 | _limit_heap.emplace(_limit_columns[0]->size() - 1, _limit_columns, order_directions, |
1011 | 0 | null_directions); |
1012 | 0 | _limit_heap.pop(); |
1013 | 0 | _limit_columns_min = _limit_heap.top()._row_id; |
1014 | 0 | break; |
1015 | 0 | } |
1016 | 0 | } |
1017 | 0 | } |
1018 | | |
1019 | | // ==================== Static utilities ==================== |
1020 | | |
1021 | | void GroupByAggContext::make_nullable_output_key(Block* block, |
1022 | 0 | const std::vector<size_t>& make_nullable_keys) { |
1023 | 0 | if (block->rows() != 0) { |
1024 | 0 | for (auto cid : make_nullable_keys) { |
1025 | 0 | block->get_by_position(cid).column = make_nullable(block->get_by_position(cid).column); |
1026 | 0 | block->get_by_position(cid).type = make_nullable(block->get_by_position(cid).type); |
1027 | 0 | } |
1028 | 0 | } |
1029 | 0 | } |
1030 | | |
1031 | 6 | int GroupByAggContext::get_slot_column_id(const AggFnEvaluator* evaluator) { |
1032 | 6 | return agg_context_utils::get_slot_column_id(evaluator); |
1033 | 6 | } |
1034 | | |
1035 | | } // namespace doris |