pub struct PhysicalExprSimplifier<'a> { /* private fields */ }Expand description
Simplifies physical expressions by applying various optimizations
This can be useful after adapting expressions from a table schema to a file schema. For example, casts added to match the types may potentially be unwrapped.
Implementations§
Source§impl<'a> PhysicalExprSimplifier<'a>
impl<'a> PhysicalExprSimplifier<'a>
Sourcepub fn new(schema: &'a Schema) -> PhysicalExprSimplifier<'a>
pub fn new(schema: &'a Schema) -> PhysicalExprSimplifier<'a>
Create a new physical expression simplifier
Sourcepub fn simplify(
&self,
expr: Arc<dyn PhysicalExpr>,
) -> Result<Arc<dyn PhysicalExpr>, DataFusionError>
pub fn simplify( &self, expr: Arc<dyn PhysicalExpr>, ) -> Result<Arc<dyn PhysicalExpr>, DataFusionError>
Simplify a physical expression
Auto Trait Implementations§
impl<'a> Freeze for PhysicalExprSimplifier<'a>
impl<'a> RefUnwindSafe for PhysicalExprSimplifier<'a>
impl<'a> Send for PhysicalExprSimplifier<'a>
impl<'a> Sync for PhysicalExprSimplifier<'a>
impl<'a> Unpin for PhysicalExprSimplifier<'a>
impl<'a> UnsafeUnpin for PhysicalExprSimplifier<'a>
impl<'a> UnwindSafe for PhysicalExprSimplifier<'a>
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
Obtains a
dyn Any reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ
fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ
Obtains an
Arc<dyn Any> reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
Converts the object to
Box<dyn Any>: Read moreSource§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
Convenient wrapper for
std::any::type_name, since Any does not provide it and
Any::type_id is useless as a debugging aid (its Debug is just a mess of hex digits).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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreCreates a shared type from an unshared type.