pub enum PipelineNode {
Show 19 variants
Where(Expression),
Select(Vec<String>),
GroupBy {
fields: Vec<String>,
aggregates: Vec<AggregateExpr>,
},
Having(Expression),
SortBy {
fields: Vec<(String, SortDirection)>,
},
Limit(u64),
Offset(u64),
Distinct,
Alert(String),
If {
condition: Expression,
then_branch: Vec<Self>,
else_branch: Option<Vec<Self>>,
},
Set {
field: String,
value: SetValue,
},
Fill {
field: String,
default: SetValue,
condition: Option<Expression>,
},
Let {
name: String,
value: Expression,
},
Debug,
Assert(Expression),
RowNumber {
alias: String,
},
Rank {
field: String,
alias: String,
},
Lag {
field: String,
alias: String,
offset: u64,
},
Lead {
field: String,
alias: String,
offset: u64,
},
}Variants§
Where(Expression)
Select(Vec<String>)
GroupBy
Having(Expression)
SortBy
Fields
§
fields: Vec<(String, SortDirection)>Limit(u64)
Offset(u64)
Distinct
Alert(String)
If
Set
Fill
Fields
§
condition: Option<Expression>Optional condition: only fill rows that match this condition.
Let
Debug
Print debug info (row count and schema) to stderr. Does not modify the data stream.
Assert(Expression)
Assert that a condition holds for every row. If any row fails the condition, the query fails with an error. Acts as a pass-through when all rows pass.
RowNumber
Assign a sequential row number (1-based) to each row.
Rank
Rank rows by a field value (ties get same rank).
Lag
Access the value of a field from the previous row (like SQL LAG).
Fields
Lead
Access the value of a field from the next row (like SQL LEAD).
Trait Implementations§
Source§impl Clone for PipelineNode
impl Clone for PipelineNode
Source§fn clone(&self) -> PipelineNode
fn clone(&self) -> PipelineNode
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 moreSource§impl Debug for PipelineNode
impl Debug for PipelineNode
Source§impl PartialEq for PipelineNode
impl PartialEq for PipelineNode
Source§impl Serialize for PipelineNode
impl Serialize for PipelineNode
impl StructuralPartialEq for PipelineNode
Auto Trait Implementations§
impl Freeze for PipelineNode
impl RefUnwindSafe for PipelineNode
impl Send for PipelineNode
impl Sync for PipelineNode
impl Unpin for PipelineNode
impl UnsafeUnpin for PipelineNode
impl UnwindSafe for PipelineNode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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