InferFiltersFromConstraints Logical Optimization Rule¶
InferFiltersFromConstraints
is a catalyst/Rule.md[Catalyst rule] for transforming spark-sql-LogicalPlan.md[logical plans] (i.e. Rule[LogicalPlan]
).
[[apply]] When catalyst/Rule.md#apply[executed], InferFiltersFromConstraints
simply <
InferFiltersFromConstraints
is a part of the Infer Filters once-executed rule batch of the base Logical Optimizer.
=== [[inferFilters]] inferFilters
Internal Method
[source, scala]¶
inferFilters( plan: LogicalPlan): LogicalPlan
inferFilters
supports <
[[inferFilters-Filter]] For Filter
logical operators, inferFilters
...FIXME
[[inferFilters-Join]] For Join.md[Join] logical operators, inferFilters
branches off per the join type:
-
For InnerLike and LeftSemi...FIXME
-
For RightOuter...FIXME
-
For LeftOuter and LeftAnti,
inferFilters
<> and then replaces the right join operator with < >
NOTE: inferFilters
is used when InferFiltersFromConstraints
is <
=== [[getAllConstraints]] getAllConstraints
Internal Method
[source, scala]¶
getAllConstraints( left: LogicalPlan, right: LogicalPlan, conditionOpt: Option[Expression]): Set[Expression]
getAllConstraints
...FIXME
NOTE: getAllConstraints
is used when...FIXME
=== [[inferNewFilter]] Adding Filter -- inferNewFilter
Internal Method
[source, scala]¶
inferNewFilter( plan: LogicalPlan, constraints: Set[Expression]): LogicalPlan
inferNewFilter
...FIXME
NOTE: inferNewFilter
is used when...FIXME