struct DefaultPhysicalExprAdapterRewriter<'a> {
logical_file_schema: &'a Schema,
physical_file_schema: &'a Schema,
partition_fields: &'a [(FieldRef, ScalarValue)],
}Fields§
§logical_file_schema: &'a Schema§physical_file_schema: &'a Schema§partition_fields: &'a [(FieldRef, ScalarValue)]Implementations§
Source§impl<'a> DefaultPhysicalExprAdapterRewriter<'a>
impl<'a> DefaultPhysicalExprAdapterRewriter<'a>
fn rewrite_expr( &self, expr: Arc<dyn PhysicalExpr>, lambdas_params: &HashSet<String>, ) -> Result<Transformed<Arc<dyn PhysicalExpr>>>
Sourcefn try_rewrite_struct_field_access(
&self,
expr: &Arc<dyn PhysicalExpr>,
lambdas_params: &HashSet<String>,
) -> Result<Option<Arc<dyn PhysicalExpr>>>
fn try_rewrite_struct_field_access( &self, expr: &Arc<dyn PhysicalExpr>, lambdas_params: &HashSet<String>, ) -> Result<Option<Arc<dyn PhysicalExpr>>>
Attempt to rewrite struct field access expressions to return null if the field does not exist in the physical schema. Note that this does not handle nested struct fields, only top-level struct field access. See https://github.com/apache/datafusion/issues/17114 for more details.
fn rewrite_column( &self, expr: Arc<dyn PhysicalExpr>, column: &Column, ) -> Result<Transformed<Arc<dyn PhysicalExpr>>>
fn get_partition_value(&self, column_name: &str) -> Option<ScalarValue>
Auto Trait Implementations§
impl<'a> Freeze for DefaultPhysicalExprAdapterRewriter<'a>
impl<'a> !RefUnwindSafe for DefaultPhysicalExprAdapterRewriter<'a>
impl<'a> Send for DefaultPhysicalExprAdapterRewriter<'a>
impl<'a> Sync for DefaultPhysicalExprAdapterRewriter<'a>
impl<'a> Unpin for DefaultPhysicalExprAdapterRewriter<'a>
impl<'a> !UnwindSafe for DefaultPhysicalExprAdapterRewriter<'a>
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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