Core expression language.
Utility functions to transform parts of a single
MirRelationExprinto canonical form.
A set of virtual nodes that are used to recover some high-level concepts that are desugared to non-trival terms in some IRs.
Visitor support for recursive data types.
Describes an aggregation expression.
Specification for an ordering by a column.
Any column in a join expression exists in two contexts:
The identifier for a local component of a dataflow.
A compound operator that can be applied row-by-row.
Predicates partitioned into temporal and non-temporal.
MirRelationExprthat claims to have been optimized, e.g., by an
Instructions for finishing the result of a query.
A wrapper type which indicates it is safe to simply evaluate all expressions.
Unique identifier for an instantiation of a source.
Describe a window frame, e.g.
RANGE UNBOUNDED PRECEDINGor
ROWS BETWEEN 5 PRECEDING AND CURRENT ROW.
An opaque identifier for a dataflow component. In other words, identifies the target of a
Describe a join implementation in dataflow.
Identify whether the given aggregate function is Lag or Lead, since they share implementations.
An abstract syntax tree which defines a collection.
Unique identifier for each part of a whole source. Kafka -> partition None -> sources that have no notion of partitioning (e.g file sources)
Describe how frame bounds are interpreted
A trait for types that describe how to build a collection.
order. If that doesn’t produce a strict ordering, call
Given the permutations (see
dataflow::plan::AvailableCollections) corresponding to two collections with the same key arity, computes the permutation for the result of joining them.
Recursively memoize parts of
expr, storing those parts in
Return the map associating columns in the logical, unthinned representation of a collection to columns in the thinned representation of the arrangement corresponding to