Re-exports

pub use builder::table_scan;
pub use builder::LogicalPlanBuilder;
pub use display::display_schema;

Modules

This module provides a builder for creating LogicalPlans

This module provides logic for displaying LogicalPlans in various styles

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).

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

Types of files to parse as DataFrames

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

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.

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.