pub enum ALogicalPlan {
Show 21 variants AnonymousScan { function: Arc<dyn AnonymousScan>, schema: SchemaRef, output_schema: Option<SchemaRef>, predicate: Option<Node>, options: AnonymousScanOptions, }, PythonScan { options: PythonOptions, }, Melt { input: Node, args: Arc<MeltArgs>, schema: SchemaRef, }, Slice { input: Node, offset: i64, len: IdxSize, }, Selection { input: Node, predicate: Node, }, CsvScan { path: PathBuf, schema: SchemaRef, output_schema: Option<SchemaRef>, options: CsvParserOptions, predicate: Option<Node>, }, IpcScan { path: PathBuf, schema: SchemaRef, output_schema: Option<SchemaRef>, options: IpcScanOptionsInner, predicate: Option<Node>, }, ParquetScan { path: PathBuf, schema: SchemaRef, output_schema: Option<SchemaRef>, predicate: Option<Node>, options: ParquetOptions, }, 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, },
}
Expand description

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

Variants

AnonymousScan

Fields

function: Arc<dyn AnonymousScan>
schema: SchemaRef
output_schema: Option<SchemaRef>
predicate: Option<Node>

PythonScan

Fields

options: PythonOptions

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
schema: SchemaRef
output_schema: Option<SchemaRef>
predicate: Option<Node>

IpcScan

Fields

path: PathBuf
schema: SchemaRef
output_schema: Option<SchemaRef>
predicate: Option<Node>

ParquetScan

Fields

path: PathBuf
schema: SchemaRef
output_schema: Option<SchemaRef>
predicate: Option<Node>
options: ParquetOptions

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
options: GroupbyOptions

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
options: DistinctOptions

MapFunction

Fields

input: Node
function: FunctionNode

Union

Fields

inputs: Vec<Node>
options: UnionOptions

ExtContext

Fields

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

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.