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
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
examine OR clause for join to see if any useful clauses can be extracted and push down.
the new clause as join rel's predicate will filter more rows before join.
for such query:
select * from test, test1 where (test.a = test1.c and test.b > 1) or (test.b = test1.d and test.c < 10);
current logical plan:
Filter: (a = c and b > 1) or (b = d and c < 10)
crossjoin:
TableScan: projection=[a, b, c]
TableScan: projection=[c, d]
optimized to
Filter: (a = c and b > 1) or (b = d and c < 10)
crossjoin:
Filter: (b > 1) or (c < 10)
TableScan: projection=[a, b, c]
TableScan: projection=[c, d]
Describe the solution you'd like
Above
Describe alternatives you've considered
None
Additional context
None
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
examine OR clause for join to see if any useful clauses can be extracted and push down.
the new clause as join rel's predicate will filter more rows before join.
for such query:
select * from test, test1 where (test.a = test1.c and test.b > 1) or (test.b = test1.d and test.c < 10);
current logical plan:
Filter: (a = c and b > 1) or (b = d and c < 10)
crossjoin:
TableScan: projection=[a, b, c]
TableScan: projection=[c, d]
optimized to
Filter: (a = c and b > 1) or (b = d and c < 10)
crossjoin:
Filter: (b > 1) or (c < 10)
TableScan: projection=[a, b, c]
TableScan: projection=[c, d]
Describe the solution you'd like
Above
Describe alternatives you've considered
None
Additional context
None
The text was updated successfully, but these errors were encountered: