Skip to content

Commit c160407

Browse files
committed
docs(agg): describe per-aggregate blocked storage
1 parent a97e6b6 commit c160407

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

‎datafusion/expr-common/src/blocked_groups_accumulator.rs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ impl BlockedEmitTo {
148148
/// [`Self::block_size`] groups, and emitting returns one array per block
149149
/// instead of one large array.
150150
///
151-
/// Hash aggregation uses a `BlockedGroupsAccumulator` only when every
152-
/// aggregate in the query (and the group keys) support blocked storage;
153-
/// otherwise the whole aggregation uses [`GroupsAccumulator`].
151+
/// Hash aggregation uses a `BlockedGroupsAccumulator` for every aggregate
152+
/// that has one, and a [`GroupsAccumulator`] for the others, in the same
153+
/// aggregation.
154154
///
155155
/// [`GroupsAccumulator`]: crate::groups_accumulator::GroupsAccumulator
156156
pub trait BlockedGroupsAccumulator: Send + Any {

‎datafusion/expr/src/udaf.rs‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -685,10 +685,9 @@ pub trait AggregateUDFImpl: Debug + DynEq + DynHash + Send + Sync + Any {
685685
not_impl_err!("GroupsAccumulator hasn't been implemented for {self:?} yet")
686686
}
687687

688-
/// If this aggregate has a [`BlockedGroupsAccumulator`]. When every
689-
/// aggregate in a hash aggregation returns `true` (and the group key is
690-
/// supported), group state is stored in blocks and released block by
691-
/// block. Defaults to `false`.
688+
/// If this aggregate has a [`BlockedGroupsAccumulator`]. When `true`,
689+
/// hash aggregation stores this aggregate's group state in blocks and
690+
/// releases it block by block. Defaults to `false`.
692691
fn blocked_groups_accumulator_supported(&self, _args: AccumulatorArgs) -> bool {
693692
false
694693
}

0 commit comments

Comments
 (0)