pub enum Expression {
Show 36 variants
AccessSource(AccessObjectExpression),
Alias(AliasExpression),
Cast(CastExpression),
Constant(ConstantExpression),
Column(ColumnExpression),
Add(AddExpression),
Div(DivExpression),
Call(CallExpression),
Rem(RemExpression),
Mul(MulExpression),
Sub(SubExpression),
Tuple(TupleExpression),
List(ListExpression),
Record(RecordExpression),
Prefix(PrefixExpression),
GreaterThan(GreaterThanExpression),
GreaterThanEqual(GreaterThanEqExpression),
LessThan(LessThanExpression),
LessThanEqual(LessThanEqExpression),
Equal(EqExpression),
NotEqual(NotEqExpression),
Between(BetweenExpression),
And(AndExpression),
Or(OrExpression),
Xor(XorExpression),
In(InExpression),
Contains(ContainsExpression),
Type(TypeExpression),
Parameter(ParameterExpression),
Variable(VariableExpression),
If(IfExpression),
Map(MapExpression),
Extend(ExtendExpression),
SumTypeConstructor(SumTypeConstructorExpression),
IsVariant(IsVariantExpression),
FieldAccess(FieldAccessExpression),
}Variants§
AccessSource(AccessObjectExpression)
Alias(AliasExpression)
Cast(CastExpression)
Constant(ConstantExpression)
Column(ColumnExpression)
Add(AddExpression)
Div(DivExpression)
Call(CallExpression)
Rem(RemExpression)
Mul(MulExpression)
Sub(SubExpression)
Tuple(TupleExpression)
List(ListExpression)
Record(RecordExpression)
Prefix(PrefixExpression)
GreaterThan(GreaterThanExpression)
GreaterThanEqual(GreaterThanEqExpression)
LessThan(LessThanExpression)
LessThanEqual(LessThanEqExpression)
Equal(EqExpression)
NotEqual(NotEqExpression)
Between(BetweenExpression)
And(AndExpression)
Or(OrExpression)
Xor(XorExpression)
In(InExpression)
Contains(ContainsExpression)
Type(TypeExpression)
Parameter(ParameterExpression)
Variable(VariableExpression)
If(IfExpression)
Map(MapExpression)
Extend(ExtendExpression)
SumTypeConstructor(SumTypeConstructorExpression)
IsVariant(IsVariantExpression)
FieldAccess(FieldAccessExpression)
Implementations§
Source§impl Expression
impl Expression
pub fn lazy_fragment(&self) -> impl Fn() -> Fragment
Source§impl Expression
impl Expression
pub fn full_fragment_owned(&self) -> Fragment
Source§impl Expression
impl Expression
pub fn infer_type(&self) -> Option<ValueType>
Trait Implementations§
Source§impl Clone for Expression
impl Clone for Expression
Source§impl Debug for Expression
impl Debug for Expression
Source§impl<'de> Deserialize<'de> for Expression
impl<'de> Deserialize<'de> for Expression
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
Source§impl Display for Expression
impl Display for Expression
Source§impl PartialEq for Expression
impl PartialEq for Expression
Source§impl Serialize for Expression
impl Serialize for Expression
impl StructuralPartialEq for Expression
Source§impl TreeNode for Expression
impl TreeNode for Expression
Source§fn apply_children<'n, F: FnMut(&'n Self) -> Result<TreeNodeRecursion>>(
&'n self,
f: F,
) -> Result<TreeNodeRecursion>
fn apply_children<'n, F: FnMut(&'n Self) -> Result<TreeNodeRecursion>>( &'n self, f: F, ) -> Result<TreeNodeRecursion>
Low-level API used to implement other APIs. Read more
Source§fn map_children<F: FnMut(Self) -> Result<Transformed<Self>>>(
self,
f: F,
) -> Result<Transformed<Self>>
fn map_children<F: FnMut(Self) -> Result<Transformed<Self>>>( self, f: F, ) -> Result<Transformed<Self>>
Low-level API used to implement other APIs. Read more
Source§fn visit<'n, V>(
&'n self,
visitor: &mut V,
) -> Result<TreeNodeRecursion, DataFusionError>where
V: TreeNodeVisitor<'n, Node = Self>,
fn visit<'n, V>(
&'n self,
visitor: &mut V,
) -> Result<TreeNodeRecursion, DataFusionError>where
V: TreeNodeVisitor<'n, Node = Self>,
Visit the tree node with a
TreeNodeVisitor, performing a
depth-first walk of the node and its children. Read moreSource§fn rewrite<R>(
self,
rewriter: &mut R,
) -> Result<Transformed<Self>, DataFusionError>where
R: TreeNodeRewriter<Node = Self>,
fn rewrite<R>(
self,
rewriter: &mut R,
) -> Result<Transformed<Self>, DataFusionError>where
R: TreeNodeRewriter<Node = Self>,
Rewrite the tree node with a
TreeNodeRewriter, performing a
depth-first walk of the node and its children. Read moreSource§fn apply<'n, F>(&'n self, f: F) -> Result<TreeNodeRecursion, DataFusionError>
fn apply<'n, F>(&'n self, f: F) -> Result<TreeNodeRecursion, DataFusionError>
Applies
f to the node then each of its children, recursively (a
top-down, pre-order traversal). Read moreSource§fn transform<F>(self, f: F) -> Result<Transformed<Self>, DataFusionError>
fn transform<F>(self, f: F) -> Result<Transformed<Self>, DataFusionError>
Recursively rewrite the node’s children and then the node using
f
(a bottom-up post-order traversal). Read moreSource§fn transform_down<F>(self, f: F) -> Result<Transformed<Self>, DataFusionError>
fn transform_down<F>(self, f: F) -> Result<Transformed<Self>, DataFusionError>
Recursively rewrite the tree using
f in a top-down (pre-order)
fashion. Read moreSource§fn transform_up<F>(self, f: F) -> Result<Transformed<Self>, DataFusionError>
fn transform_up<F>(self, f: F) -> Result<Transformed<Self>, DataFusionError>
Recursively rewrite the node using
f in a bottom-up (post-order)
fashion. Read moreSource§fn transform_down_up<FD, FU>(
self,
f_down: FD,
f_up: FU,
) -> Result<Transformed<Self>, DataFusionError>where
FD: FnMut(Self) -> Result<Transformed<Self>, DataFusionError>,
FU: FnMut(Self) -> Result<Transformed<Self>, DataFusionError>,
fn transform_down_up<FD, FU>(
self,
f_down: FD,
f_up: FU,
) -> Result<Transformed<Self>, DataFusionError>where
FD: FnMut(Self) -> Result<Transformed<Self>, DataFusionError>,
FU: FnMut(Self) -> Result<Transformed<Self>, DataFusionError>,
Transforms the node using
f_down while traversing the tree top-down
(pre-order), and using f_up while traversing the tree bottom-up
(post-order). Read moreAuto Trait Implementations§
impl Freeze for Expression
impl RefUnwindSafe for Expression
impl Send for Expression
impl Sync for Expression
impl Unpin for Expression
impl UnsafeUnpin for Expression
impl UnwindSafe for Expression
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more