pub enum LogicalPlan {
Show 22 variants AnonymousScan { function: Arc<dyn AnonymousScan>, file_info: FileInfo, predicate: Option<Expr>, options: AnonymousScanOptions, }, Selection { input: Box<LogicalPlan>, predicate: Expr, }, Cache { input: Box<LogicalPlan>, id: usize, count: usize, }, CsvScan { path: PathBuf, file_info: FileInfo, options: CsvParserOptions, predicate: Option<Expr>, }, ParquetScan { path: PathBuf, file_info: FileInfo, predicate: Option<Expr>, options: ParquetOptions, cloud_options: Option<CloudOptions>, }, IpcScan { path: PathBuf, file_info: FileInfo, options: IpcScanOptionsInner, predicate: Option<Expr>, }, DataFrameScan { df: Arc<DataFrame>, schema: SchemaRef, output_schema: Option<SchemaRef>, projection: Option<Arc<Vec<String>>>, selection: Option<Expr>, }, LocalProjection { expr: Vec<Expr>, input: Box<LogicalPlan>, schema: SchemaRef, }, Projection { expr: Vec<Expr>, input: Box<LogicalPlan>, schema: SchemaRef, }, Aggregate { input: Box<LogicalPlan>, keys: Arc<Vec<Expr>>, aggs: Vec<Expr>, schema: SchemaRef, apply: Option<Arc<dyn DataFrameUdf>>, maintain_order: bool, options: GroupbyOptions, }, Join { input_left: Box<LogicalPlan>, input_right: Box<LogicalPlan>, schema: SchemaRef, left_on: Vec<Expr>, right_on: Vec<Expr>, options: JoinOptions, }, HStack { input: Box<LogicalPlan>, exprs: Vec<Expr>, schema: SchemaRef, }, Distinct { input: Box<LogicalPlan>, options: DistinctOptions, }, Sort { input: Box<LogicalPlan>, by_column: Vec<Expr>, args: SortArguments, }, Explode { input: Box<LogicalPlan>, columns: Vec<String>, schema: SchemaRef, }, Slice { input: Box<LogicalPlan>, offset: i64, len: IdxSize, }, Melt { input: Box<LogicalPlan>, args: Arc<MeltArgs>, schema: SchemaRef, }, MapFunction { input: Box<LogicalPlan>, function: FunctionNode, }, Union { inputs: Vec<LogicalPlan>, options: UnionOptions, }, Error { input: Box<LogicalPlan>, err: Arc<Mutex<Option<PolarsError>>>, }, ExtContext { input: Box<LogicalPlan>, contexts: Vec<LogicalPlan>, schema: SchemaRef, }, FileSink { input: Box<LogicalPlan>, payload: FileSinkOptions, },
}

Variants§

§

AnonymousScan

Fields

§function: Arc<dyn AnonymousScan>
§file_info: FileInfo
§predicate: Option<Expr>
§

Selection

Fields

§predicate: Expr

Filter on a boolean mask

§

Cache

Fields

§id: usize
§count: usize

Cache the input at this point in the LP

§

CsvScan

Fields

§path: PathBuf
§file_info: FileInfo
§predicate: Option<Expr>

Filters at the scan level

Available on crate feature csv-file only.

Scan a CSV file

§

ParquetScan

Fields

§path: PathBuf
§file_info: FileInfo
§predicate: Option<Expr>
§cloud_options: Option<CloudOptions>
Available on crate feature parquet only.

Scan a Parquet file

§

IpcScan

Fields

§path: PathBuf
§file_info: FileInfo
§predicate: Option<Expr>
Available on crate feature ipc only.
§

DataFrameScan

Fields

§schema: SchemaRef
§output_schema: Option<SchemaRef>
§projection: Option<Arc<Vec<String>>>
§selection: Option<Expr>

In memory DataFrame

§

LocalProjection

Fields

§expr: Vec<Expr>
§schema: SchemaRef
§

Projection

Fields

§expr: Vec<Expr>
§schema: SchemaRef

Column selection

§

Aggregate

Fields

§keys: Arc<Vec<Expr>>
§aggs: Vec<Expr>
§schema: SchemaRef
§apply: Option<Arc<dyn DataFrameUdf>>
§maintain_order: bool

Groupby aggregation

§

Join

Fields

§input_left: Box<LogicalPlan>
§input_right: Box<LogicalPlan>
§schema: SchemaRef
§left_on: Vec<Expr>
§right_on: Vec<Expr>
§options: JoinOptions

Join operation

§

HStack

Fields

§exprs: Vec<Expr>
§schema: SchemaRef

Adding columns to the table without a Join

§

Distinct

Fields

Remove duplicates from the table

§

Sort

Fields

§by_column: Vec<Expr>

Sort the table

§

Explode

Fields

§columns: Vec<String>
§schema: SchemaRef

An explode operation

§

Slice

Fields

§offset: i64
§len: IdxSize

Slice the table

§

Melt

Fields

§args: Arc<MeltArgs>
§schema: SchemaRef

A Melt operation

§

MapFunction

Fields

§function: FunctionNode

A (User Defined) Function

§

Union

Fields

§inputs: Vec<LogicalPlan>
§options: UnionOptions
§

Error

Catches errors and throws them later

§

ExtContext

Fields

§contexts: Vec<LogicalPlan>
§schema: SchemaRef

This allows expressions to access other tables

§

FileSink

Fields

Implementations§

Arguments

id - (branch, id) Used to make sure that the dot boxes are distinct. branch is an id per join/union branch id is incremented by the depth traversal of the tree.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.