Enum polars_plan::plans::FunctionNode
source · pub enum FunctionNode {
OpaquePython {
function: PythonFunction,
schema: Option<SchemaRef>,
predicate_pd: bool,
projection_pd: bool,
streamable: bool,
validate_output: bool,
},
Opaque {
function: Arc<dyn DataFrameUdf>,
schema: Option<Arc<dyn UdfSchema>>,
predicate_pd: bool,
projection_pd: bool,
streamable: bool,
fmt_str: &'static str,
},
Count {
paths: Arc<[PathBuf]>,
scan_type: FileScan,
alias: Option<Arc<str>>,
},
Pipeline {
function: Arc<Mutex<dyn DataFrameUdfMut>>,
schema: SchemaRef,
original: Option<Arc<IRPlan>>,
},
Unnest {
columns: Arc<[Arc<str>]>,
},
Rechunk,
MergeSorted {
column: Arc<str>,
},
Rename {
existing: Arc<[String]>,
new: Arc<[String]>,
swapping: bool,
schema: CachedSchema,
},
Explode {
columns: Arc<[Arc<str>]>,
schema: CachedSchema,
},
Unpivot {
args: Arc<UnpivotArgs>,
schema: CachedSchema,
},
RowIndex {
name: Arc<str>,
schema: CachedSchema,
offset: Option<IdxSize>,
},
}
Variants§
OpaquePython
Available on crate feature
python
only.Fields
§
function: PythonFunction
Opaque
Fields
§
function: Arc<dyn DataFrameUdf>
Count
Pipeline
Streaming engine pipeline
Unnest
Rechunk
MergeSorted
Available on crate feature
merge_sorted
only.Rename
Explode
Unpivot
RowIndex
Implementations§
source§impl FunctionNode
impl FunctionNode
sourcepub fn is_streamable(&self) -> bool
pub fn is_streamable(&self) -> bool
Whether this function can run on batches of data at a time.
sourcepub fn expands_rows(&self) -> bool
pub fn expands_rows(&self) -> bool
Whether this function will increase the number of rows
pub fn evaluate(&self, df: DataFrame) -> PolarsResult<DataFrame>
pub fn to_streaming_lp(&self) -> Option<IRPlanRef<'_>>
Trait Implementations§
source§impl Clone for FunctionNode
impl Clone for FunctionNode
source§fn clone(&self) -> FunctionNode
fn clone(&self) -> FunctionNode
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 FunctionNode
impl Debug for FunctionNode
source§impl<'de> Deserialize<'de> for FunctionNode
impl<'de> Deserialize<'de> for FunctionNode
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 Display for FunctionNode
impl Display for FunctionNode
source§impl From<FunctionNode> for DslFunction
impl From<FunctionNode> for DslFunction
source§fn from(value: FunctionNode) -> Self
fn from(value: FunctionNode) -> Self
Converts to this type from the input type.
source§impl Hash for FunctionNode
impl Hash for FunctionNode
source§impl PartialEq for FunctionNode
impl PartialEq for FunctionNode
source§impl Serialize for FunctionNode
impl Serialize for FunctionNode
impl Eq for FunctionNode
Auto Trait Implementations§
impl !Freeze for FunctionNode
impl !RefUnwindSafe for FunctionNode
impl Send for FunctionNode
impl Sync for FunctionNode
impl Unpin for FunctionNode
impl !UnwindSafe for FunctionNode
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more