pub enum TypedExprKind {
Show 17 variants
Literal(Literal),
ColumnRef {
table: String,
column: String,
column_index: usize,
},
BinaryOp {
left: Box<TypedExpr>,
op: BinaryOp,
right: Box<TypedExpr>,
},
UnaryOp {
op: UnaryOp,
operand: Box<TypedExpr>,
},
Case {
operand: Option<Box<TypedExpr>>,
branches: Vec<TypedCaseWhen>,
else_expr: Option<Box<TypedExpr>>,
},
FunctionCall {
name: String,
args: Vec<TypedExpr>,
distinct: bool,
star: bool,
filter: Option<Box<TypedExpr>>,
order_by: Vec<SortExpr>,
over: Option<TypedWindowSpec>,
},
Cast {
expr: Box<TypedExpr>,
target_type: ResolvedType,
},
TryCast {
expr: Box<TypedExpr>,
target_type: ResolvedType,
},
Between {
expr: Box<TypedExpr>,
low: Box<TypedExpr>,
high: Box<TypedExpr>,
negated: bool,
},
Like {
expr: Box<TypedExpr>,
pattern: Box<TypedExpr>,
escape: Option<Box<TypedExpr>>,
negated: bool,
kind: PatternMatchKind,
},
InList {
expr: Box<TypedExpr>,
list: Vec<TypedExpr>,
negated: bool,
},
IsNull {
expr: Box<TypedExpr>,
negated: bool,
},
VectorLiteral(Vec<f64>),
ScalarSubquery(Box<LogicalPlan>),
InSubquery {
expr: Box<TypedExpr>,
subquery: Box<LogicalPlan>,
negated: bool,
},
Exists {
subquery: Box<LogicalPlan>,
negated: bool,
},
Quantified {
expr: Box<TypedExpr>,
op: BinaryOp,
quantifier: Quantifier,
subquery: Box<LogicalPlan>,
},
}Expand description
The kind of a typed expression.
Each variant corresponds to a different expression type that has been
type-checked. Unlike ExprKind, column
references include the resolved column index for efficient access.
Variants§
Literal(Literal)
A literal value.
ColumnRef
A column reference with resolved table and column index.
Fields
BinaryOp
A binary operation.
Fields
UnaryOp
A unary operation.
Case
A searched or simple CASE expression.
Fields
branches: Vec<TypedCaseWhen>WHEN/THEN branches in source order.
FunctionCall
A function call.
Fields
order_by: Vec<SortExpr>Aggregate-local ordering. WITHIN GROUP (ORDER BY ...) is
normalized into this list by the type checker.
over: Option<TypedWindowSpec>Optional typed OVER (...) specification.
Cast
An explicit type cast.
TryCast
An explicit type cast that returns NULL on conversion failure.
Between
A BETWEEN expression.
Fields
Like
A LIKE pattern match expression.
Fields
kind: PatternMatchKindPattern operator variant.
InList
An IN list expression.
Fields
IsNull
An IS NULL expression.
Fields
VectorLiteral(Vec<f64>)
A vector literal.
ScalarSubquery(Box<LogicalPlan>)
A scalar subquery.
InSubquery
An IN subquery.
Fields
subquery: Box<LogicalPlan>Planned subquery.
Exists
An EXISTS subquery.
Quantified
A quantified comparison subquery.
Trait Implementations§
Source§impl Clone for TypedExprKind
impl Clone for TypedExprKind
Source§fn clone(&self) -> TypedExprKind
fn clone(&self) -> TypedExprKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more