Avoid lifting CREATE_FILTERs across binding-changing operators - #20
Conversation
|
lgtm! Can you document the operators that break these bindings? |
|
And also list the queries that were impacted from this issue. |
|
We might want to revisit this later. Lifting above the FILTER operators have meaningful gains in the JOB queries. We would want to figure out why the bindings are inconsistent and try to address them |
The old rewrite is guaranteed to be safe only if every operator between For example, in Q18, an
The affected TPC-H queries are Q02, Q07, Q17, Q18, and Q20.
A follow-up fix is implemented in #26. It remaps the input bindings of the moved operators and without moving the |
CREATE_FILTERlifting could go across operators that change column bindings. This caused theLOGICAL_FILTERprojection map to no longer match the column bindings of the deeperLOGICAL_GET, resulting in binding errors.This PR stops
CREATE_FILTERlifting when the column bindings change.