pub enum TypedExprKind {
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>,
},
FunctionCall {
name: String,
args: Vec<TypedExpr>,
},
Cast {
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,
},
InList {
expr: Box<TypedExpr>,
list: Vec<TypedExpr>,
negated: bool,
},
IsNull {
expr: Box<TypedExpr>,
negated: bool,
},
VectorLiteral(Vec<f64>),
}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.
FunctionCall
A function call.
Cast
An explicit type cast.
Between
A BETWEEN expression.
Fields
Like
A LIKE pattern match expression.
Fields
InList
An IN list expression.
Fields
IsNull
An IS NULL expression.
Fields
VectorLiteral(Vec<f64>)
A vector literal.
Trait Implementations§
Source§impl Clone for TypedExprKind
impl Clone for TypedExprKind
Source§fn clone(&self) -> TypedExprKind
fn clone(&self) -> TypedExprKind
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TypedExprKind
impl RefUnwindSafe for TypedExprKind
impl Send for TypedExprKind
impl Sync for TypedExprKind
impl Unpin for TypedExprKind
impl UnwindSafe for TypedExprKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more