Coverage Report

Created: 2026-03-30 11:38

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
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