Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.7.0
-
None
-
None
Description
In some cases, we can change the outer join into a regular join. The benefit is regular join is easier to optimize in subsequent optimization.
Example:
C = join A by a0 LEFT OUTER, B by b0;
D = filter C by b0 > 0;
=>
C = join A by a0, B by b0;
D = filter C by b0 > 0;
Because we made this change, so PushUpFilter rule can further push the filter in front of regular join which otherwise cannot.