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 is 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.
A pattern that matches any number of filter operations on top of another relational operator. Adjacent filter operators are collected and their conditions are broken up and returned as a sequence of conjunctive predicates.
A tuple containing a sequence of conjunctive predicates that should be used to filter the output and a relational operator.