Struct datafusion::logical_expr::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 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§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