PushFilterIntoSource implements Rule
Read onlyYes
FinalYes
Interfaces
Methods
- apply() : LogicalPlan
- Rewrite the plan, or return it unchanged. A rule never mutates the plan it is given.
- predicateAtLeaf() : ScalarFunction|null
- reachedByEveryConsumer() : bool
Methods
apply()
Rewrite the plan, or return it unchanged. A rule never mutates the plan it is given.
public
apply(LogicalPlan $plan, Backend $backend) : LogicalPlan
A rule that rewrites nodes goes through LogicalPlan::transformUp(): its one memo rewrites a node every consumer shares exactly once, so the Result and the writes keep sharing it.
Parameters
- $plan : LogicalPlan
- $backend : Backend
Return values
LogicalPlanpredicateAtLeaf()
public
predicateAtLeaf(Filter $filter, Read $leaf, ScalarFunction $predicate) : ScalarFunction|null
Parameters
- $filter : Filter
- $leaf : Read
- $predicate : ScalarFunction
Return values
ScalarFunction|nullreachedByEveryConsumer()
public
reachedByEveryConsumer(Filter $filter, Node ...$consumerInputs) : bool