Expand description
DataFusion aggregate bridge for streaming aggregation.
Bridges DataFusion’s Accumulator trait with laminar-core’s
DynAccumulator / DynAggregatorFactory traits. This avoids
duplicating aggregation logic.
DataFusion Aggregate Bridge
Bridges DataFusion’s 50+ built-in aggregate functions into LaminarDB’s
DynAccumulator / DynAggregatorFactory traits. This avoids
reimplementing statistical functions (STDDEV, VARIANCE, PERCENTILE, etc.)
that DataFusion already provides.
§Architecture
DataFusion World LaminarDB World
┌───────────────────┐ ┌──────────────────────┐
│ AggregateUDF │ │ DynAggregatorFactory │
│ └─▶ Accumulator │──bridge──▶│ └─▶ DynAccumulator │
│ (ScalarValue)│ │ (ScalarResult) │
└───────────────────┘ └──────────────────────┘§Ring Architecture
This bridge is Ring 1 (allocates, uses dynamic dispatch). Ring 0 workloads continue to use the hand-written static-dispatch aggregators.
Structs§
- Data
Fusion Accumulator Adapter - Adapts a DataFusion
datafusion_expr::Accumulatorinto LaminarDB’sDynAccumulatortrait. - Data
Fusion Aggregate Factory - Factory for creating
DataFusionAccumulatorAdapterinstances.
Functions§
- create_
aggregate_ factory - Creates a
DataFusionAggregateFactoryfor a named built-in aggregate. - lookup_
aggregate_ udf - Looks up a DataFusion built-in aggregate function by name.
- result_
to_ scalar_ value - Converts a
ScalarResultto a DataFusionScalarValue. - scalar_
value_ to_ result - Converts a DataFusion
ScalarValueto a LaminarDBScalarResult.