pub struct ForeignPhysicalOptimizerRule { /* private fields */ }Expand description
This wrapper struct exists on the receiver side of the FFI interface, so it has
no guarantees about being able to access the data in private_data. Any functions
defined on this struct must only use the stable functions provided in
FFI_PhysicalOptimizerRule to interact with the foreign rule.
Trait Implementations§
Source§impl Debug for ForeignPhysicalOptimizerRule
impl Debug for ForeignPhysicalOptimizerRule
Source§impl PhysicalOptimizerRule for ForeignPhysicalOptimizerRule
impl PhysicalOptimizerRule for ForeignPhysicalOptimizerRule
Source§fn optimize(
&self,
plan: Arc<dyn ExecutionPlan>,
config: &ConfigOptions,
) -> Result<Arc<dyn ExecutionPlan>>
fn optimize( &self, plan: Arc<dyn ExecutionPlan>, config: &ConfigOptions, ) -> Result<Arc<dyn ExecutionPlan>>
Rewrite
plan to an optimized form. Read moreSource§fn schema_check(&self) -> bool
fn schema_check(&self) -> bool
A flag to indicate whether the physical planner should validate that the rule will not
change the schema of the plan after the rewriting.
Some of the optimization rules might change the nullable properties of the schema
and should disable the schema check.
Source§fn optimize_with_context(
&self,
plan: Arc<dyn ExecutionPlan>,
context: &dyn PhysicalOptimizerContext,
) -> Result<Arc<dyn ExecutionPlan>, DataFusionError>
fn optimize_with_context( &self, plan: Arc<dyn ExecutionPlan>, context: &dyn PhysicalOptimizerContext, ) -> Result<Arc<dyn ExecutionPlan>, DataFusionError>
Rewrite
plan with access to extended context (statistics registry, etc.). Read moreimpl Send for ForeignPhysicalOptimizerRule
impl Sync for ForeignPhysicalOptimizerRule
Auto Trait Implementations§
impl Freeze for ForeignPhysicalOptimizerRule
impl RefUnwindSafe for ForeignPhysicalOptimizerRule
impl Unpin for ForeignPhysicalOptimizerRule
impl UnsafeUnpin for ForeignPhysicalOptimizerRule
impl UnwindSafe for ForeignPhysicalOptimizerRule
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
impl<T> Allocation for T
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> 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