alamb commented on code in PR #7129:
URL: https://github.com/apache/arrow-datafusion/pull/7129#discussion_r1278556220
##########
datafusion/core/src/physical_plan/aggregates/order/mod.rs:
##########
@@ -52,7 +52,6 @@ impl GroupOrdering {
} = ordering;
Ok(match mode {
- GroupByOrderMode::None => GroupOrdering::None,
Review Comment:
I haven't reviewed this super carefully yet, but `GroupOrderingNone` was
substantially faster than` GroupOrderingPartial`, because
`GroupOrderingPartial` requires additional comparisons per group key.
Thus I would expect this test to slow down performance. I will run some
performance tests next week.
##########
datafusion/core/src/physical_plan/aggregates/mod.rs:
##########
@@ -270,6 +267,18 @@ pub struct AggregateExec {
required_input_ordering: Option<LexOrderingReq>,
}
+/// Check whether aggregations is in first stage.
+/// It means that, aggregation input is not another aggregation
+/// `merge_batch` method will not be called for these modes.
+fn is_aggregation_first_stage(mode: &AggregateMode) -> bool {
Review Comment:
Maybe this would be easier to find if it were a method on `AggregateMode`
```rust
impl AggregateMode {
...
pub fn is_first_stage(&self) -> bool {....}
}
```
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]