Struct datafusion_python::datafusion_expr::logical_plan::Projection
source · #[non_exhaustive]pub struct Projection {
pub expr: Vec<Expr>,
pub input: Arc<LogicalPlan>,
pub schema: Arc<DFSchema>,
}Expand description
Evaluates an arbitrary list of expressions (essentially a SELECT with an expression list) on its input.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.expr: Vec<Expr>The list of expressions
input: Arc<LogicalPlan>The incoming logical plan
schema: Arc<DFSchema>The schema description of the output
Implementations§
source§impl Projection
impl Projection
sourcepub fn try_new(
expr: Vec<Expr>,
input: Arc<LogicalPlan>,
) -> Result<Projection, DataFusionError>
pub fn try_new( expr: Vec<Expr>, input: Arc<LogicalPlan>, ) -> Result<Projection, DataFusionError>
Create a new Projection
sourcepub fn try_new_with_schema(
expr: Vec<Expr>,
input: Arc<LogicalPlan>,
schema: Arc<DFSchema>,
) -> Result<Projection, DataFusionError>
pub fn try_new_with_schema( expr: Vec<Expr>, input: Arc<LogicalPlan>, schema: Arc<DFSchema>, ) -> Result<Projection, DataFusionError>
Create a new Projection using the specified output schema
sourcepub fn new_from_schema(
input: Arc<LogicalPlan>,
schema: Arc<DFSchema>,
) -> Projection
pub fn new_from_schema( input: Arc<LogicalPlan>, schema: Arc<DFSchema>, ) -> Projection
Create a new Projection using the specified output schema
Trait Implementations§
source§impl Clone for Projection
impl Clone for Projection
source§fn clone(&self) -> Projection
fn clone(&self) -> Projection
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 Projection
impl Debug for Projection
source§impl From<Projection> for PyProjection
impl From<Projection> for PyProjection
source§fn from(projection: Projection) -> PyProjection
fn from(projection: Projection) -> PyProjection
Converts to this type from the input type.
source§impl From<PyProjection> for Projection
impl From<PyProjection> for Projection
source§fn from(proj: PyProjection) -> Self
fn from(proj: PyProjection) -> Self
Converts to this type from the input type.
source§impl Hash for Projection
impl Hash for Projection
source§impl PartialEq for Projection
impl PartialEq for Projection
impl Eq for Projection
impl StructuralPartialEq for Projection
Auto Trait Implementations§
impl Freeze for Projection
impl !RefUnwindSafe for Projection
impl Send for Projection
impl Sync for Projection
impl Unpin for Projection
impl !UnwindSafe for Projection
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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