Returns true if expr
can be evaluated using only the output of plan
.
Returns true if expr
can be evaluated using only the output of plan
. This method
can be used to determine when it is acceptable to move expression evaluation within a query
plan.
For example consider a join between two relations R(a, b) and S(c, d).
canEvaluate(EqualTo(a,b), R)
returns true
where as canEvaluate(EqualTo(a,c), R)
returns
false
.
Name for this rule, automatically inferred based on class name.
Name for this rule, automatically inferred based on class name.
Pushes down Filter operators where the
condition
can be evaluated using only the attributes of the left or right side of a join. Other Filter conditions are moved into thecondition
of the Join.And also pushes down the join filter, where the
condition
can be evaluated using only the attributes of the left or right side of sub query when applicable.Check https://cwiki.apache.org/confluence/display/Hive/OuterJoinBehavior for more details