| 144 | } |
| 145 | |
| 146 | void AggregationNode::Close(RuntimeState* state) { |
| 147 | if (is_closed()) return; |
| 148 | // All expr mem allocations should happen in the Aggregator. |
| 149 | DCHECK(expr_results_pool() == nullptr |
| 150 | || expr_results_pool()->total_allocated_bytes() == 0); |
| 151 | for (auto& agg : aggs_) agg->Close(state); |
| 152 | ExecNode::Close(state); |
| 153 | } |
| 154 | |
| 155 | void AggregationNode::DebugString(int indentation_level, stringstream* out) const { |
| 156 | *out << string(indentation_level * 2, ' '); |
no test coverage detected