pub struct ReadPlan {Show 16 fields
pub select: Vec<CoercibleSelectField>,
pub from: QualifiedIdentifier,
pub from_alias: Option<Alias>,
pub where_: Vec<CoercibleLogicTree>,
pub order: Vec<CoercibleOrderTerm>,
pub range: Range,
pub rel_name: NodeName,
pub rel_to_parent: Option<AnyRelationship>,
pub rel_join_conds: Vec<JoinCondition>,
pub rel_alias: Option<Alias>,
pub rel_agg_alias: Alias,
pub rel_hint: Option<Hint>,
pub rel_join_type: Option<JoinType>,
pub rel_spread: Option<SpreadType>,
pub rel_select: Vec<RelSelectField>,
pub depth: usize,
}Expand description
A read plan for a single table/view
Matches the Haskell ReadPlan data type. The root node has depth=0
and rel_to_parent=None; child nodes represent embedded relations.
Fields§
§select: Vec<CoercibleSelectField>Fields to select
from: QualifiedIdentifierTable/view to read from
from_alias: Option<Alias>Optional alias for the FROM clause
where_: Vec<CoercibleLogicTree>WHERE conditions (logic trees)
order: Vec<CoercibleOrderTerm>ORDER BY terms
range: RangeRange (LIMIT/OFFSET)
rel_name: NodeNameNode name in the plan tree (usually the relation name)
rel_to_parent: Option<AnyRelationship>Relationship to parent node (None for root)
rel_join_conds: Vec<JoinCondition>Join conditions to parent
rel_alias: Option<Alias>Alias for the relation in the join
rel_agg_alias: AliasAggregate alias for subquery
rel_hint: Option<Hint>Disambiguation hint
rel_join_type: Option<JoinType>Join type (INNER/LEFT)
rel_spread: Option<SpreadType>Spread type if this is a spread relation
rel_select: Vec<RelSelectField>How this relation appears in the parent’s select
depth: usizeDepth in the tree (0 for root)
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ReadPlan
impl RefUnwindSafe for ReadPlan
impl Send for ReadPlan
impl Sync for ReadPlan
impl Unpin for ReadPlan
impl UnsafeUnpin for ReadPlan
impl UnwindSafe for ReadPlan
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