Module datafusion::logical_plan::plan
source · [−]👎Deprecated
Expand description
This is a legacy module that only contains re-exports of other modules
Re-exports
pub use crate::datasource::provider_as_source;
pub use crate::datasource::source_as_provider;
pub use crate::datasource::DefaultTableSource;
Structs
Aggregates its input based on a set of grouping and aggregate
expressions (e.g. SUM).
Runs the actual plan, and then prints the physical plan with
with execution metrics.
Creates a catalog (aka “Database”).
Creates a schema.
Creates an external table.
Creates an in memory table.
Creates a view.
Apply Cross Join to two logical plans
Removes duplicate rows from the input
Drops a table.
Produces no rows: An empty relation with an empty schema
Produces a relation with string representations of
various parts of the plan
Extension operator defined outside of DataFusion
Filters rows from its input that do not match an
expression (essentially a WHERE clause with a predicate
expression).
Formats plans for graphical display using the
DOT
language. This
format can be visualized using software from
graphviz
Formats plans with a single line per node. For example:
Join two logical plans on one or more join columns
Produces the first
n
tuples from its input and discards the rest.Evaluates an arbitrary list of expressions (essentially a
SELECT with an expression list) on its input.
Repartition the plan based on a partitioning scheme.
Sorts its input according to a list of sort expressions.
Represents some sort of execution plan, in String form
Subquery
Aliased subquery
Produces rows from a table provider by reference or from the context
Union multiple inputs
Values expression. See
Postgres VALUES
documentation for more details.
Window its input based on a set of window spec and window function (e.g. SUM or RANK)
Enums
Join constraint
Join type
A LogicalPlan represents the different types of relational
operators (such as Projection, Filter, etc) and can be created by
the SQL query planner and the DataFrame API.
Logical partitioning schemes supported by the repartition operator.
Represents which type of plan, when storing multiple
for use in EXPLAIN plans
! Table source
Indicates whether and how a filter expression can be handled by a
TableProvider for table scans.
Traits
Trait that implements the Visitor
pattern for a
depth first walk of
LogicalPlan
nodes. pre_visit
is called
before any children are visited, and then post_visit
is called
after all children have been visited.
To use, define a struct that implements this trait and then invoke
LogicalPlan::accept
.The TableSource trait is used during logical query planning and optimizations and
provides access to schema information and filter push-down capabilities. This trait
provides a subset of the functionality of the TableProvider trait in the core
datafusion crate. The TableProvider trait provides additional capabilities needed for
physical query execution (such as the ability to perform a scan). The reason for
having two separate traits is to avoid having the logical plan code be dependent
on the DataFusion execution engine. Other projects may want to use DataFusion’s
logical plans and have their own execution engine.
Trait for something that can be formatted as a stringified plan
This defines the interface for
LogicalPlan
nodes that can be
used to extend DataFusion with custom relational operators.