Module logical_plan

Source

Re-exports§

pub use builder::build_join_schema;
pub use builder::table_scan;
pub use builder::union;
pub use builder::wrap_projection_for_join_if_necessary;
pub use builder::LogicalPlanBuilder;
pub use builder::LogicalTableSource;
pub use builder::UNNAMED_TABLE;
pub use dml::DmlStatement;
pub use dml::WriteOp;
pub use display::display_schema;

Modules§

builder
This module provides a builder for creating LogicalPlans
display
This module provides logic for displaying LogicalPlans in various styles
dml
tree_node
TreeNode based visiting and rewriting for LogicalPlans

Structs§

Aggregate
Aggregates its input based on a set of grouping and aggregate expressions (e.g. SUM).
Analyze
Runs the actual plan, and then prints the physical plan with with execution metrics.
ColumnUnnestList
Represent the unnesting operation on a list column, such as the recursion depth and the output column name after unnesting
CreateCatalog
Creates a catalog (aka “Database”).
CreateCatalogSchema
Creates a schema.
CreateExternalTable
Creates an external table.
CreateFunction
Arguments passed to CREATE FUNCTION
CreateFunctionBody
CreateIndex
CreateMemoryTable
Creates an in memory table.
CreateView
Creates a view.
Deallocate
Deallocate a prepared statement.
DescribeTable
Describe the schema of table
DistinctOn
Removes duplicate rows from the input
DropCatalogSchema
Drops a schema
DropFunction
DropTable
Drops a table.
DropView
Drops a view.
EmptyRelation
Produces no rows: An empty relation with an empty schema
Execute
Execute a prepared statement.
Explain
Produces a relation with string representations of various parts of the plan
Extension
Extension operator defined outside of DataFusion
Filter
Filters rows from its input that do not match an expression (essentially a WHERE clause with a predicate expression).
Join
Join two logical plans on one or more join columns
Limit
Produces the first n tuples from its input and discards the rest.
OperateFunctionArg
Prepare
Prepare a statement but do not execute it. Prepare statements can have 0 or more Expr::Placeholder expressions that are filled in during execution
Projection
Evaluates an arbitrary list of expressions (essentially a SELECT with an expression list) on its input.
RecursiveQuery
A variadic query operation, Recursive CTE.
Repartition
SetVariable
Set a Variable’s value – value in ConfigOptions
Sort
Sorts its input according to a list of sort expressions.
StringifiedPlan
Represents some sort of execution plan, in String form
Subquery
Subquery
SubqueryAlias
Aliased subquery
TableScan
Produces rows from a table provider by reference or from the context
TransactionEnd
Indicator that any current transaction should be terminated
TransactionStart
Indicator that the following statements should be committed or rolled back atomically
Union
Union multiple inputs
Unnest
Unnest a column that contains a nested list type. See UnnestOptions for more details.
Values
Values expression. See Postgres VALUES documentation for more details.
Window
Window its input based on a set of window spec and window function (e.g. SUM or RANK)

Enums§

DdlStatement
Various types of DDL (CREATE / DROP) catalog manipulation
Distinct
Removes duplicate rows from the input
FetchType
Different types of fetch expression in Limit plan.
InvariantLevel
JoinConstraint
Join constraint
JoinType
Join type
LogicalPlan
A LogicalPlan is a node in a tree of relational operators (such as Projection or Filter).
Partitioning
Logical partitioning schemes supported by LogicalPlan::Repartition
PlanType
Represents which type of plan, when storing multiple for use in EXPLAIN plans
SkipType
Different types of skip expression in Limit plan.
Statement
Various types of Statements.
TransactionAccessMode
Indicates if this transaction is allowed to write
TransactionConclusion
Indicates if a transaction was committed or aborted
TransactionIsolationLevel
Indicates ANSI transaction isolation level

Traits§

ToStringifiedPlan
Trait for something that can be formatted as a stringified plan
UserDefinedLogicalNode
This defines the interface for LogicalPlan nodes that can be used to extend DataFusion with custom relational operators.
UserDefinedLogicalNodeCore
This trait facilitates implementation of the UserDefinedLogicalNode.

Functions§

assert_expected_schema
Returns an error if the plan does not have the expected schema. Ignores metadata and nullability.
check_subquery_expr
Do necessary check on subquery expressions and fail the invalid plan
projection_schema
Computes the schema of the result produced by applying a projection to the input logical plan.