MCPcopy Create free account
hub / github.com/apache/impala / Init

Method Init

be/src/exec/aggregator.cc:58–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56 needs_finalize_(taggregator.need_finalize) {}
57
58Status AggregatorConfig::Init(
59 const TAggregator& taggregator, FragmentState* state, PlanNode* pnode) {
60 DCHECK(intermediate_tuple_desc_ != nullptr);
61 DCHECK(output_tuple_desc_ != nullptr);
62 DCHECK_EQ(intermediate_tuple_desc_->slots().size(), output_tuple_desc_->slots().size());
63 int j = taggregator.grouping_exprs.size();
64 for (int i = 0; i < taggregator.aggregate_functions.size(); ++i, ++j) {
65 SlotDescriptor* intermediate_slot_desc = intermediate_tuple_desc_->slots()[j];
66 SlotDescriptor* output_slot_desc = output_tuple_desc_->slots()[j];
67 AggFn* agg_fn;
68 RETURN_IF_ERROR(AggFn::Create(taggregator.aggregate_functions[i], input_row_desc_,
69 *intermediate_slot_desc, *output_slot_desc, state, &agg_fn));
70 aggregate_functions_.push_back(agg_fn);
71 }
72
73 RETURN_IF_ERROR(
74 ScalarExpr::Create(pnode->tnode_->conjuncts, row_desc_, state, &conjuncts_));
75 return Status::OK();
76}
77
78void AggregatorConfig::Close() {
79 ScalarExpr::Close(conjuncts_);

Callers 1

InitAggSlotsMethod · 0.45

Calls 4

CreateClass · 0.85
OKFunction · 0.85
push_backMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected