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 Filter operators through Project operators, in-lining any Aliases that were defined in the projection.
This heuristic is valid assuming the expression evaluation cost is minimal.