Enum polars_plan::logical_plan::LogicalPlan
source · pub enum LogicalPlan {
Show 18 variants
PythonScan {
options: PythonOptions,
},
Selection {
input: Box<LogicalPlan>,
predicate: Expr,
},
Cache {
input: Box<LogicalPlan>,
id: usize,
count: usize,
},
Scan {
paths: Arc<[PathBuf]>,
file_info: FileInfo,
predicate: Option<Expr>,
file_options: FileScanOptions,
scan_type: FileScan,
},
DataFrameScan {
df: Arc<DataFrame>,
schema: SchemaRef,
output_schema: Option<SchemaRef>,
projection: Option<Arc<Vec<String>>>,
selection: Option<Expr>,
},
Projection {
expr: Vec<Expr>,
input: Box<LogicalPlan>,
schema: SchemaRef,
options: ProjectionOptions,
},
Aggregate {
input: Box<LogicalPlan>,
keys: Arc<Vec<Expr>>,
aggs: Vec<Expr>,
schema: SchemaRef,
apply: Option<Arc<dyn DataFrameUdf>>,
maintain_order: bool,
options: Arc<GroupbyOptions>,
},
Join {
input_left: Box<LogicalPlan>,
input_right: Box<LogicalPlan>,
schema: SchemaRef,
left_on: Vec<Expr>,
right_on: Vec<Expr>,
options: Arc<JoinOptions>,
},
HStack {
input: Box<LogicalPlan>,
exprs: Vec<Expr>,
schema: SchemaRef,
options: ProjectionOptions,
},
Distinct {
input: Box<LogicalPlan>,
options: DistinctOptions,
},
Sort {
input: Box<LogicalPlan>,
by_column: Vec<Expr>,
args: SortArguments,
},
Slice {
input: Box<LogicalPlan>,
offset: i64,
len: IdxSize,
},
MapFunction {
input: Box<LogicalPlan>,
function: FunctionNode,
},
Union {
inputs: Vec<LogicalPlan>,
options: UnionOptions,
},
HConcat {
inputs: Vec<LogicalPlan>,
schema: SchemaRef,
options: HConcatOptions,
},
Error {
input: Box<LogicalPlan>,
err: ErrorState,
},
ExtContext {
input: Box<LogicalPlan>,
contexts: Vec<LogicalPlan>,
schema: SchemaRef,
},
Sink {
input: Box<LogicalPlan>,
payload: SinkType,
},
}
Variants§
PythonScan
Fields
§
options: PythonOptions
Available on crate feature
python
only.Selection
Filter on a boolean mask
Cache
Cache the input at this point in the LP
Scan
Fields
§
file_options: FileScanOptions
DataFrameScan
Fields
In memory DataFrame
Projection
Column selection
Aggregate
Groupby aggregation
Join
Join operation
HStack
Adding columns to the table without a Join
Distinct
Remove duplicates from the table
Sort
Sort the table
Slice
Slice the table
MapFunction
A (User Defined) Function
Union
HConcat
Horizontal concatenation of multiple plans
Error
Catches errors and throws them later
ExtContext
This allows expressions to access other tables
Sink
Implementations§
source§impl LogicalPlan
impl LogicalPlan
sourcepub fn dot(
&self,
acc_str: &mut String,
id: (usize, usize),
prev_node: DotNode<'_>,
id_map: &mut PlHashMap<String, String>
) -> Result
pub fn dot( &self, acc_str: &mut String, id: (usize, usize), prev_node: DotNode<'_>, id_map: &mut PlHashMap<String, String> ) -> Result
§Arguments
id
- (branch, id)
Used to make sure that the dot boxes are distinct.
branch is an id per join/union branch
id is incremented by the depth traversal of the tree.
source§impl LogicalPlan
impl LogicalPlan
pub fn schema(&self) -> PolarsResult<Cow<'_, SchemaRef>>
source§impl LogicalPlan
impl LogicalPlan
pub fn describe(&self) -> String
pub fn describe_tree_format(&self) -> String
pub fn to_alp(self) -> PolarsResult<(Node, Arena<ALogicalPlan>, Arena<AExpr>)>
Trait Implementations§
source§impl Clone for LogicalPlan
impl Clone for LogicalPlan
source§fn clone(&self) -> LogicalPlan
fn clone(&self) -> LogicalPlan
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 LogicalPlan
impl Debug for LogicalPlan
source§impl Default for LogicalPlan
impl Default for LogicalPlan
source§impl<'de> Deserialize<'de> for LogicalPlan
impl<'de> Deserialize<'de> for LogicalPlan
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<LogicalPlan> for LogicalPlanBuilder
impl From<LogicalPlan> for LogicalPlanBuilder
source§fn from(lp: LogicalPlan) -> Self
fn from(lp: LogicalPlan) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for LogicalPlan
impl !RefUnwindSafe for LogicalPlan
impl Send for LogicalPlan
impl Sync for LogicalPlan
impl Unpin for LogicalPlan
impl !UnwindSafe for LogicalPlan
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