pub enum ExprIr {
Show 22 variants
Column(String),
Lit(LiteralValue),
Eq(Box<ExprIr>, Box<ExprIr>),
Ne(Box<ExprIr>, Box<ExprIr>),
Gt(Box<ExprIr>, Box<ExprIr>),
Ge(Box<ExprIr>, Box<ExprIr>),
Lt(Box<ExprIr>, Box<ExprIr>),
Le(Box<ExprIr>, Box<ExprIr>),
EqNullSafe(Box<ExprIr>, Box<ExprIr>),
And(Box<ExprIr>, Box<ExprIr>),
Or(Box<ExprIr>, Box<ExprIr>),
Not(Box<ExprIr>),
Add(Box<ExprIr>, Box<ExprIr>),
Sub(Box<ExprIr>, Box<ExprIr>),
Mul(Box<ExprIr>, Box<ExprIr>),
Div(Box<ExprIr>, Box<ExprIr>),
Between {
left: Box<ExprIr>,
lower: Box<ExprIr>,
upper: Box<ExprIr>,
},
IsIn(Box<ExprIr>, Box<ExprIr>),
IsNull(Box<ExprIr>),
IsNotNull(Box<ExprIr>),
When {
condition: Box<ExprIr>,
then_expr: Box<ExprIr>,
otherwise: Box<ExprIr>,
},
Call {
name: String,
args: Vec<ExprIr>,
},
}Expand description
Expression IR: a single, serializable tree that backends convert to their native Expr.
Variants§
Column(String)
Column reference: col("name")
Lit(LiteralValue)
Literal value
Eq(Box<ExprIr>, Box<ExprIr>)
Ne(Box<ExprIr>, Box<ExprIr>)
Gt(Box<ExprIr>, Box<ExprIr>)
Ge(Box<ExprIr>, Box<ExprIr>)
Lt(Box<ExprIr>, Box<ExprIr>)
Le(Box<ExprIr>, Box<ExprIr>)
EqNullSafe(Box<ExprIr>, Box<ExprIr>)
And(Box<ExprIr>, Box<ExprIr>)
Or(Box<ExprIr>, Box<ExprIr>)
Not(Box<ExprIr>)
Add(Box<ExprIr>, Box<ExprIr>)
Sub(Box<ExprIr>, Box<ExprIr>)
Mul(Box<ExprIr>, Box<ExprIr>)
Div(Box<ExprIr>, Box<ExprIr>)
Between
IsIn(Box<ExprIr>, Box<ExprIr>)
IsNull(Box<ExprIr>)
IsNotNull(Box<ExprIr>)
When
Call
Function call: name and args (e.g. sum, count, upper, substring, cast).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ExprIr
impl<'de> Deserialize<'de> for ExprIr
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExprIr
impl RefUnwindSafe for ExprIr
impl Send for ExprIr
impl Sync for ExprIr
impl Unpin for ExprIr
impl UnsafeUnpin for ExprIr
impl UnwindSafe for ExprIr
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