Expand description
Vortex’s expression language.
All expressions are serializable, and own their own wire format.
The implementation takes inspiration from Postgres and Apache Datafusion.
Modules§
- aliases
- dyn_
traits - dynamic
- forms
- proto
- pruning
- transform
- A collection of transformations that can be applied to a
crate::ExprRef
. - traversal
- Datafusion inspired tree traversal logic.
Macros§
Structs§
- Between
Expr - Between
Expr Encoding - BetweenV
Table - Binary
Expr - Binary
Expr Encoding - BinaryV
Table - Cast
Expr - Cast
Expr Encoding - CastV
Table - Exact
Expr - An expression wrapper that performs pointer equality.
- Expr
Adapter - Expr
Encoding Adapter - GetItem
Expr - GetItem
Expr Encoding - GetItemV
Table - IsNull
Expr - IsNull
Expr Encoding - IsNullV
Table - Like
Expr - Like
Expr Encoding - LikeV
Table - List
Contains Expr - List
Contains Expr Encoding - List
ContainsV Table - Literal
Expr - Literal
Expr Encoding - LiteralV
Table - Merge
Expr - Merge zero or more expressions that ALL return structs.
- Merge
Expr Encoding - MergeV
Table - NotExpr
- NotExpr
Encoding - NotV
Table - Pack
Expr - Pack zero or more expressions into a structure with named fields.
- Pack
Expr Encoding - PackV
Table - Root
Expr - An expression that returns the full scope of the expression evaluation.
- Root
Expr Encoding - RootV
Table - Scope
- Scope define the evaluation context/scope that an expression uses when being evaluated.
- Select
Expr - Select
Expr Encoding - SelectV
Table
Enums§
- Operator
- Equalities, inequalities, and boolean operations over possibly null values.
- Select
Field
Traits§
- Analysis
Expr - This can be used by expression to plug into vortex expression analysis, such as pruning or expression simplification
- Expr
Encoding - Encoding trait for a Vortex expression.
- Expr
Registry Ext - Into
Expr - Scope
Var - This traits defines variables that can be stored inside of an execution’s
Scope
. - Stats
Catalog - A catalog of available stats that are associated with field paths.
- VTable
- Vortex
Expr - Represents logical operation on
ArrayRef
s - Vortex
Expr Ext
Functions§
- and
- Create a new
BinaryExpr
using theAnd
operator. - and_
collect - Collects a list of
and
ed values into a single vortex, expr [x, y, z] => x and (y and z) - and_
collect_ right - Collects a list of
and
ed values into a single vortex, expr [x, y, z] => x and (y and z) - between
- Creates an expression that checks if values are between two bounds.
- cast
- Creates an expression that casts values to a target data type.
- checked_
add - Create a new
BinaryExpr
using theAdd
operator. - col
- Creates an expression that accesses a field from the root array.
- eq
- Create a new
BinaryExpr
using theEq
operator. - get_
item - Creates an expression that extracts a named field from a struct expression.
- gt
- Create a new
BinaryExpr
using theGt
operator. - gt_eq
- Create a new
BinaryExpr
using theGte
operator. - is_null
- Creates an expression that checks for null values.
- is_root
- Return whether the expression is a root expression.
- list_
contains - Creates an expression that checks if a value is contained in a list.
- lit
- Create a new
Literal
expression from a type that coerces toScalar
. - lt
- Create a new
BinaryExpr
using theLt
operator. - lt_eq
- Create a new
BinaryExpr
using theLte
operator. - merge
- Creates an expression that merges struct expressions into a single struct.
- not
- Creates an expression that logically inverts boolean values.
- not_eq
- Create a new
BinaryExpr
using theNotEq
operator. - or
- Create a new
BinaryExpr
using theOr
operator. - or_
collect - Collects a list of
or
ed values into a single vortex, expr [x, y, z] => x or (y or z) - pack
- Creates an expression that packs values into a struct with named fields.
- root
- Creates an expression that references the root scope.
- select
- Creates an expression that selects (includes) specific fields from an array.
- select_
exclude - Creates an expression that excludes specific fields from an array.
- split_
conjunction - Splits top level and operations into separate expressions.