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

ALogicalPlan is a representation of LogicalPlan with Nodes which are allocated in an Arena

Variants§

§

AnonymousScan

Fields

§function: Arc<dyn AnonymousScan>
§file_info: FileInfo
§output_schema: Option<SchemaRef>
§predicate: Option<Node>
§

Melt

Fields

§input: Node
§args: Arc<MeltArgs>
§schema: SchemaRef
§

Slice

Fields

§input: Node
§offset: i64
§len: IdxSize
§

Selection

Fields

§input: Node
§predicate: Node
§

CsvScan

Fields

§path: PathBuf
§file_info: FileInfo
§output_schema: Option<SchemaRef>
§predicate: Option<Node>
Available on crate feature csv-file only.
§

IpcScan

Fields

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

ParquetScan

Fields

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

DataFrameScan

Fields

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

Projection

Fields

§input: Node
§expr: Vec<Node>
§schema: SchemaRef
§

LocalProjection

Fields

§expr: Vec<Node>
§input: Node
§schema: SchemaRef
§

Sort

Fields

§input: Node
§by_column: Vec<Node>
§

Explode

Fields

§input: Node
§columns: Vec<String>
§schema: SchemaRef
§

Cache

Fields

§input: Node
§id: usize
§count: usize
§

Aggregate

Fields

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

Join

Fields

§input_left: Node
§input_right: Node
§schema: SchemaRef
§left_on: Vec<Node>
§right_on: Vec<Node>
§options: JoinOptions
§

HStack

Fields

§input: Node
§exprs: Vec<Node>
§schema: SchemaRef
§

Distinct

Fields

§input: Node
§

MapFunction

Fields

§input: Node
§function: FunctionNode
§

Union

Fields

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

ExtContext

Fields

§input: Node
§contexts: Vec<Node>
§schema: SchemaRef
§

FileSink

Fields

§input: Node

Implementations§

Get the schema of the logical plan node.

Takes the expressions of an LP node and the inputs of that node and reconstruct

Copy the exprs in this LP node to an existing container.

Get expressions in this node.

Push inputs of the LP in of this node to an existing container. Most plans have typically one input. A join has two and a scan (CsvScan) or an in-memory DataFrame has none. A Union has multiple.

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

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.