pub enum Operand {
Prop {
var: String,
field: String,
},
Lit(Value),
Param(String),
Var(String),
FuncCall {
name: String,
args: Vec<Operand>,
},
BinArith {
op: ArithOp,
left: Box<Operand>,
right: Box<Operand>,
},
Case {
branches: Vec<(Expr, Operand)>,
default: Option<Box<Operand>>,
},
}Variants§
Prop
Lit(Value)
Param(String)
Var(String)
Bare variable reference (used in WITH … WHERE alias > 2).
FuncCall
Scalar function call: toLower(n.name), size(n.tags), type(r), etc.
Supported functions (case-insensitive): toLower, toUpper, size,
coalesce, type, abs, round, textMatches, contains,
startsWith, endsWith, toInteger, toFloat, toString, decay.
Unknown names → named error at execution time listing the supported
set (see SCALAR_FUNCS in exec.rs).
BinArith
Arithmetic expression inside a function argument: abs(n.age - 27),
round(n.score * 1.5). Supports +, -, *, /.
Case
Generic CASE WHEN <cond> THEN <value> [WHEN …] [ELSE <value>] END.
Evaluates each branch’s condition in order, returning the first matching
value; the default (ELSE) or null if none match.
Trait Implementations§
impl StructuralPartialEq for Operand
Auto Trait Implementations§
impl Freeze for Operand
impl RefUnwindSafe for Operand
impl Send for Operand
impl Sync for Operand
impl Unpin for Operand
impl UnsafeUnpin for Operand
impl UnwindSafe for Operand
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.