pub enum LogicalPlanLite {
Scan {
table: String,
predicate: Option<String>,
projection: Vec<String>,
},
Aggregate {
input: Box<LogicalPlanLite>,
group_by: Vec<String>,
aggregates: Vec<AggregateExpr>,
},
Join {
left: Box<LogicalPlanLite>,
right: Box<LogicalPlanLite>,
on: Vec<JoinKey>,
},
Sort {
input: Box<LogicalPlanLite>,
keys: Vec<SortKey>,
limit: Option<usize>,
},
Limit {
input: Box<LogicalPlanLite>,
limit: usize,
},
}Expand description
The simplified logical IR distribute lowers onto tablets.
This is the seam documented at the module level: the DataFusion integration wave lowers real DataFusion plans onto this enum; this wave plans from it directly.
Variants§
Scan
Base-table scan with an optional opaque predicate and projection.
Fields
Aggregate
Grouped aggregation.
Fields
§
input: Box<LogicalPlanLite>Input subtree.
§
aggregates: Vec<AggregateExpr>Aggregate expressions.
Join
Equi-join.
Fields
§
left: Box<LogicalPlanLite>Left input subtree.
§
right: Box<LogicalPlanLite>Right input subtree.
Sort
Sort with an optional limit (ORDER BY ... [LIMIT k]).
Fields
§
input: Box<LogicalPlanLite>Input subtree.
Limit
Limit without an ordering.
Trait Implementations§
Source§impl Clone for LogicalPlanLite
impl Clone for LogicalPlanLite
Source§fn clone(&self) -> LogicalPlanLite
fn clone(&self) -> LogicalPlanLite
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 LogicalPlanLite
impl Debug for LogicalPlanLite
Source§impl<'de> Deserialize<'de> for LogicalPlanLite
impl<'de> Deserialize<'de> for LogicalPlanLite
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 PartialEq for LogicalPlanLite
impl PartialEq for LogicalPlanLite
Source§impl Serialize for LogicalPlanLite
impl Serialize for LogicalPlanLite
impl StructuralPartialEq for LogicalPlanLite
Auto Trait Implementations§
impl Freeze for LogicalPlanLite
impl RefUnwindSafe for LogicalPlanLite
impl Send for LogicalPlanLite
impl Sync for LogicalPlanLite
impl Unpin for LogicalPlanLite
impl UnsafeUnpin for LogicalPlanLite
impl UnwindSafe for LogicalPlanLite
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> 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