Enum polars_plan::logical_plan::ALogicalPlan
source · [−]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
PythonScan
Fields
options: PythonOptions
Melt
Slice
Selection
CsvScan
IpcScan
ParquetScan
DataFrameScan
Fields
schema: SchemaRef
Projection
LocalProjection
Sort
Explode
Cache
Aggregate
Fields
input: Node
schema: SchemaRef
apply: Option<Arc<dyn DataFrameUdf>>
maintain_order: bool
options: GroupbyOptions
Join
HStack
Distinct
MapFunction
Union
ExtContext
Implementations
sourceimpl ALogicalPlan
impl ALogicalPlan
sourceimpl ALogicalPlan
impl ALogicalPlan
sourcepub fn with_exprs_and_input(
&self,
exprs: Vec<Node>,
inputs: Vec<Node>
) -> ALogicalPlan
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
sourcepub fn copy_exprs(&self, container: &mut Vec<Node>)
pub fn copy_exprs(&self, container: &mut Vec<Node>)
Copy the exprs in this LP node to an existing container.
sourcepub fn get_exprs(&self) -> Vec<Node>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
pub fn get_exprs(&self) -> Vec<Node>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Get expressions in this node.
sourcepub fn copy_inputs<T>(&self, container: &mut T)where
T: PushNode,
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.
pub fn get_inputs(&self) -> Vec<Node>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Trait Implementations
sourceimpl Clone for ALogicalPlan
impl Clone for ALogicalPlan
sourcefn clone(&self) -> ALogicalPlan
fn clone(&self) -> ALogicalPlan
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for ALogicalPlan
impl Debug for ALogicalPlan
Auto Trait Implementations
impl !RefUnwindSafe for ALogicalPlan
impl Send for ALogicalPlan
impl Sync for ALogicalPlan
impl Unpin for ALogicalPlan
impl !UnwindSafe for ALogicalPlan
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more