pub enum LogicalPlan {
Limit {
limit: usize,
input: Rc<LogicalPlan>,
schema: Arc<Schema>,
},
Projection {
expr: Vec<Expr>,
input: Rc<LogicalPlan>,
schema: Arc<Schema>,
},
Selection {
expr: Expr,
input: Rc<LogicalPlan>,
},
Aggregate {
input: Rc<LogicalPlan>,
group_expr: Vec<Expr>,
aggr_expr: Vec<Expr>,
schema: Arc<Schema>,
},
Sort {
expr: Vec<Expr>,
input: Rc<LogicalPlan>,
schema: Arc<Schema>,
},
TableScan {
schema_name: String,
table_name: String,
schema: Arc<Schema>,
projection: Option<Vec<usize>>,
},
EmptyRelation {
schema: Arc<Schema>,
},
}
The LogicalPlan represents different types of relations (such as Projection, Selection, etc) and
can be created by the SQL query planner and the DataFrame API.
A relation that applies a row limit to its child relation
Fields of Limit
A Projection (essentially a SELECT with an expression list)
Fields of Projection
A Selection (essentially a WHERE clause with a predicate expression)
Fields of Selection
Represents a list of aggregate expressions with optional grouping expressions
Fields of Aggregate
Represents a list of sort expressions to be applied to a relation
Fields of Sort
A table scan against a table that has been registered on a context
Fields of TableScan
An empty relation with an empty schema
Fields of EmptyRelation
Get a reference to the logical plan's schema
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static