pub enum ALogicalPlan {
Show 17 variants PythonScan { options: PythonOptions, predicate: Option<Node>, }, Slice { input: Node, offset: i64, len: IdxSize, }, Selection { input: Node, predicate: Node, }, Scan { paths: Arc<[PathBuf]>, file_info: FileInfo, predicate: Option<Node>, output_schema: Option<SchemaRef>, scan_type: FileScan, file_options: FileScanOptions, }, DataFrameScan { df: Arc<DataFrame>, schema: SchemaRef, output_schema: Option<SchemaRef>, projection: Option<Arc<Vec<String>>>, selection: Option<Node>, }, Projection { input: Node, expr: ProjectionExprs, schema: SchemaRef, options: ProjectionOptions, }, Sort { input: Node, by_column: Vec<Node>, args: SortArguments, }, 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: Arc<GroupbyOptions>, }, Join { input_left: Node, input_right: Node, schema: SchemaRef, left_on: Vec<Node>, right_on: Vec<Node>, options: Arc<JoinOptions>, }, HStack { input: Node, exprs: ProjectionExprs, schema: SchemaRef, options: ProjectionOptions, }, Distinct { input: Node, options: DistinctOptions, }, MapFunction { input: Node, function: FunctionNode, }, Union { inputs: Vec<Node>, options: UnionOptions, }, HConcat { inputs: Vec<Node>, schema: SchemaRef, options: HConcatOptions, }, ExtContext { input: Node, contexts: Vec<Node>, schema: SchemaRef, }, Sink { input: Node, payload: SinkType, },
}
Expand description

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

Variants§

§

PythonScan

Fields

§predicate: Option<Node>
Available on crate feature python only.
§

Slice

Fields

§input: Node
§offset: i64
§

Selection

Fields

§input: Node
§predicate: Node
§

Scan

Fields

§paths: Arc<[PathBuf]>
§file_info: FileInfo
§predicate: Option<Node>
§output_schema: Option<SchemaRef>

schema of the projected file

§scan_type: FileScan
§file_options: FileScanOptions

generic options that can be used for all file types.

§

DataFrameScan

Fields

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

Projection

Fields

§input: Node
§expr: ProjectionExprs
§schema: SchemaRef
§

Sort

Fields

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

Cache

Fields

§input: Node
§count: usize
§

Aggregate

Fields

§input: Node
§keys: Vec<Node>
§aggs: Vec<Node>
§schema: SchemaRef
§maintain_order: bool
§

Join

Fields

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

HStack

Fields

§input: Node
§exprs: ProjectionExprs
§schema: SchemaRef
§

Distinct

Fields

§input: Node
§

MapFunction

Fields

§input: Node
§function: FunctionNode
§

Union

Fields

§inputs: Vec<Node>
§

HConcat

Fields

§inputs: Vec<Node>
§schema: SchemaRef
§

ExtContext

Fields

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

Sink

Fields

§input: Node
§payload: SinkType

Implementations§

source§

impl ALogicalPlan

source

pub fn name(&self) -> &'static str

source

pub fn schema<'a>( &'a self, arena: &'a Arena<ALogicalPlan> ) -> Cow<'a, SchemaRef>

Get the schema of the logical plan node.

source§

impl ALogicalPlan

source

pub fn with_exprs_and_input( &self, exprs: Vec<Node>, inputs: Vec<Node> ) -> ALogicalPlan

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

source

pub fn copy_exprs(&self, container: &mut Vec<Node>)

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

source

pub fn get_exprs(&self) -> Vec<Node>

Get expressions in this node.

source

pub fn copy_inputs<T>(&self, container: &mut T)
where T: PushNode,

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.

source

pub fn get_inputs(&self) -> Vec<Node>

Trait Implementations§

source§

impl Clone for ALogicalPlan

source§

fn clone(&self) -> ALogicalPlan

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ALogicalPlan

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ALogicalPlan

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> Ungil for T
where T: Send,