You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After the WHERE condition is normalized to disjunctive normal form, extract all the conjunctions that test for equality between simple column references to the input data sources, then propagate these predicates "down" the data source.
This must introduce a new interface pushPredicateDown on a data source, which will transform the data source accordingly:
pushPredicateDown on a scanNode does the job currently performed by selectNode already
for every case where it makes sense, call pushPredicateDown recursively.
in every remaining case, pushPredicateDown can insert an new intermediate selectNode that just does that filtering, keeping the original source as its source.
After the WHERE condition is normalized to disjunctive normal form, extract all the conjunctions that test for equality between simple column references to the input data sources, then propagate these predicates "down" the data source.
This must introduce a new interface
pushPredicateDownon a data source, which will transform the data source accordingly:pushPredicateDownon ascanNodedoes the job currently performed byselectNodealreadypushPredicateDownon ajoinNodemust check:equalityPredicateafter sql: introduce a new predicate structure to replace usingPredicate #10630 is addressed.pushPredicateDownrecursively.pushPredicateDowncan insert an new intermediateselectNodethat just does that filtering, keeping the original source as its source.