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.