Structs§
- Naive implementation of OneByOneAggr, suitable for stuff like const folding, but too slow for rendering. This relies only on infrastructure available in
mz-expr
. It simply saves all the given input, and calls the given AggregateFunc’seval
method when asked about the current aggregate. (For Accumulable and Hierarchical aggregations, the rendering has more efficient implementations, but for Basic aggregations even the rendering uses this naive implementation.)
Enums§
- Identify whether the given aggregate function is Lag or Lead, since they share implementations.
Constants§
Traits§
- An implementation of an aggregation where we can send in the input elements one-by-one, and can also ask the current aggregate at any moment. (This just delegates to other aggregation evaluation approaches.)
Functions§
- all 🔒
- any 🔒
- count 🔒
- dict_
agg 🔒 - The expected input is in the format of [((OriginalRow, InputValue), OrderByExprs…)]
- Executes
FusedValueWindowFunc
on a reduction group. The expected input is in the format of[((OriginalRow, (Args1, Args2, ...)), OrderByExprs...)]
whereArgs1
,Args2
, are the arguments of each of the fused functions. For functions that have only a single argument (first_value/last_value), these are simple values. For functions that have multiple arguments (lag/lead), these are also records. - lag_
lead 🔒The expected input is in the format of[((OriginalRow, EncodedArgs), OrderByExprs...)]
For example, - Each element of
args
has the 3 arguments evaluated for a single input row. Returns the results for each input row. - The expected input is in the format of [((OriginalRow, InputValue), OrderByExprs…)]
- Assuming datums is a List, sort them by the 2nd through Nth elements corresponding to order_by, then return the 1st element and computed order by expression.
- rank 🔒
- lag/lead’s arguments are in a record. This function unwraps this record.
- The expected input is in the format of
[((OriginalRow, InputValue), OrderByExprs...)]
See also in the comment inwindow_func_applied_to
. - wrap 🔒