Enum polars_plan::logical_plan::ALogicalPlan
source · 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 Node
s which are allocated in an Arena
Variants§
PythonScan
Available on crate feature
python
only.Slice
Selection
Scan
Fields
§
file_options: FileScanOptions
generic options that can be used for all file types.
DataFrameScan
Fields
Projection
Sort
Cache
Aggregate
Join
Fields
§
options: Arc<JoinOptions>
HStack
Distinct
MapFunction
Union
HConcat
ExtContext
Sink
Implementations§
source§impl ALogicalPlan
impl ALogicalPlan
source§impl 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 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>
Trait Implementations§
source§impl Clone for ALogicalPlan
impl Clone for ALogicalPlan
source§fn clone(&self) -> ALogicalPlan
fn clone(&self) -> ALogicalPlan
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ALogicalPlan
impl Debug for ALogicalPlan
Auto Trait Implementations§
impl Freeze for ALogicalPlan
impl !RefUnwindSafe for ALogicalPlan
impl Send for ALogicalPlan
impl Sync for ALogicalPlan
impl Unpin for ALogicalPlan
impl !UnwindSafe for ALogicalPlan
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more