pub struct FilterNullJoinKeys {}
Expand description
The FilterNullJoinKeys rule will identify inner joins with equi-join conditions
where the join key is nullable on one side and non-nullable on the other side
and then insert an IsNotNull
filter on the nullable side since null values
can never match.
Implementations§
Trait Implementations§
source§impl Default for FilterNullJoinKeys
impl Default for FilterNullJoinKeys
source§fn default() -> FilterNullJoinKeys
fn default() -> FilterNullJoinKeys
Returns the “default value” for a type. Read more
source§impl OptimizerRule for FilterNullJoinKeys
impl OptimizerRule for FilterNullJoinKeys
source§fn try_optimize(
&self,
plan: &LogicalPlan,
config: &dyn OptimizerConfig
) -> Result<Option<LogicalPlan>, DataFusionError>
fn try_optimize( &self, plan: &LogicalPlan, config: &dyn OptimizerConfig ) -> Result<Option<LogicalPlan>, DataFusionError>
Try and rewrite
plan
to an optimized form, returning None if the plan cannot be
optimized by this rule.source§fn apply_order(&self) -> Option<ApplyOrder>
fn apply_order(&self) -> Option<ApplyOrder>
How should the rule be applied by the optimizer? See comments on
ApplyOrder
for details. Read moreAuto Trait Implementations§
impl RefUnwindSafe for FilterNullJoinKeys
impl Send for FilterNullJoinKeys
impl Sync for FilterNullJoinKeys
impl Unpin for FilterNullJoinKeys
impl UnwindSafe for FilterNullJoinKeys
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