pub struct Step {
pub name: String,
pub kind: StepKind,
pub projections: Vec<Expression>,
pub dependencies: Vec<Step>,
pub aggregations: Vec<Expression>,
pub group_by: Vec<Expression>,
pub condition: Option<Expression>,
pub order_by: Vec<Expression>,
pub limit: Option<Expression>,
}Expand description
A step in the execution plan
Fields§
§name: StringName of this step
kind: StepKindType of step
projections: Vec<Expression>Projections to output
dependencies: Vec<Step>Dependencies (other steps that must complete first)
aggregations: Vec<Expression>Aggregation expressions (for Aggregate steps)
group_by: Vec<Expression>Group by expressions (for Aggregate steps)
condition: Option<Expression>Join condition (for Join steps)
order_by: Vec<Expression>Sort expressions (for Sort steps)
limit: Option<Expression>Limit value (for Scan/other steps)
Implementations§
Source§impl Step
impl Step
Sourcepub fn from_expression(
expression: &Expression,
ctes: &HashMap<String, Step>,
) -> Option<Self>
pub fn from_expression( expression: &Expression, ctes: &HashMap<String, Step>, ) -> Option<Self>
Build a step from an expression
Sourcepub fn add_dependency(&mut self, dep: Step)
pub fn add_dependency(&mut self, dep: Step)
Add a dependency to this step
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Step
impl RefUnwindSafe for Step
impl Send for Step
impl Sync for Step
impl Unpin for Step
impl UnwindSafe for Step
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