Module logical_plan Copy item path Source 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 LogicalPlan
sAggregate 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 DmlStatement Modifies the content of a database 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 ExplainOption Options for EXPLAIN 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. LogicalPlanBuilder Builder for logical plans LogicalPlanBuilderOptions Options for LogicalPlanBuilder
LogicalTableSource Basic TableSource implementation intended for use in tests and documentation. It is expected
that users will provide their own TableSource implementations or use DataFusion’s
DefaultTableSource. 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) DdlStatement Various types of DDL (CREATE / DROP) catalog manipulation Distinct Removes duplicate rows from the input ExplainFormat Output formats for controlling for Explain plans 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 WriteOp The type of DML operation to perform. UNNAMED_TABLE Default table name for unnamed table 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
. assert_expected_schema Returns an error if the plan does not have the expected schema.
Ignores metadata and nullability. build_join_schema Creates a schema for a join operation.
The fields from the left side are first check_subquery_expr Do necessary check on subquery expressions and fail the invalid plan display_schema Print the schema in a compact representation to buf
projection_schema Computes the schema of the result produced by applying a projection to the input logical plan. requalify_sides_if_needed (Re)qualify the sides of a join if needed, i.e. if the columns from one side would otherwise
conflict with the columns from the other.
This is especially useful for queries that come as Substrait, since Substrait doesn’t currently allow specifying
aliases, neither for columns nor for tables. DataFusion requires columns to be uniquely identifiable, in some
places (see e.g. DFSchema::check_names).
The function returns: table_scan Create a LogicalPlanBuilder representing a scan of a table with the provided name and schema.
This is mostly used for testing and documentation. union Union two LogicalPlan
s. wrap_projection_for_join_if_necessary Wrap projection for a plan, if the join keys contains normal expression.