icexelloss commented on code in PR #34311: URL: https://github.com/apache/arrow/pull/34311#discussion_r1124624680
########## cpp/src/arrow/compute/exec/aggregate_node.cc: ########## @@ -440,12 +613,29 @@ class GroupByNode : public ExecNode, public TracedNode { int key_field_id = key_field_ids[i]; output_fields[base + i] = input_schema->field(key_field_id); } + base += keys.size(); + for (size_t i = 0; i < segment_keys.size(); ++i) { + int segment_key_field_id = segment_key_field_ids[i]; + output_fields[base + i] = input_schema->field(segment_key_field_id); + } return input->plan()->EmplaceNode<GroupByNode>( input, schema(std::move(output_fields)), std::move(key_field_ids), + std::move(segment_key_field_ids), std::move(segmenter), std::move(agg_src_types), std::move(agg_src_fieldsets), std::move(aggs), std::move(agg_kernels)); } + Status ResetAggregates() { Review Comment: This is very confusing - why are there two "ResetAggregates" method defined and do different things? ########## cpp/src/arrow/compute/exec/aggregate_node.cc: ########## @@ -440,12 +613,29 @@ class GroupByNode : public ExecNode, public TracedNode { int key_field_id = key_field_ids[i]; output_fields[base + i] = input_schema->field(key_field_id); } + base += keys.size(); + for (size_t i = 0; i < segment_keys.size(); ++i) { + int segment_key_field_id = segment_key_field_ids[i]; + output_fields[base + i] = input_schema->field(segment_key_field_id); + } return input->plan()->EmplaceNode<GroupByNode>( input, schema(std::move(output_fields)), std::move(key_field_ids), + std::move(segment_key_field_ids), std::move(segmenter), std::move(agg_src_types), std::move(agg_src_fieldsets), std::move(aggs), std::move(agg_kernels)); } + Status ResetAggregates() { Review Comment: This is very confusing - why are there two "ResetAggregates" method defined? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org