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
If we can convert them to inner join, we can apply more predicate pushdown optimizations, and we have more choices when exploring physical join operators.
Describe the feature you'd like:
rewrite the query to a semantically equivalent query by constant propagation, then this new query is able to be converted to inner join in function simplifyOuterJoin. For the above 4 kinds of query, the query after rewrite is:
select * from t1 left join t2 on t1.a=t2.a where t1.b = t2.b and t1.b = 2;
=> select * from t1 left join t2 on t1.a = t2.a where t2.b = 2 and t1.b = 2;
select * from t1 left join t2 on t1.a = 1 where t1.a = t2.a;
=> select * from t1 left join t2 on t1.a = 1 where 1 = t2.a;
select * from t1 left join t2 on t1.a = t2.a where t1.b = t2.b and t1.b > 1;
=> select * from t1 left join t2 on t1.a = t2.a where t1.b = t2.b and t1.b > 1 and t2.b > 1;
select * from t1 left join t2 on t1.a > 1 where t1.a = t2.a;
=> select * from t1 left join t2 on t1.a > 1 where t1.a = t2.a and t2.a > 1;
This enhancement should be a small step forward to tackle #7559
The text was updated successfully, but these errors were encountered:
Feature Request
Is your feature request related to a problem? Please describe:
Currently, for the following 4 kinds of query, outer join is generated, but they can be converted to inner join semantically.
If we can convert them to inner join, we can apply more predicate pushdown optimizations, and we have more choices when exploring physical join operators.
Describe the feature you'd like:
rewrite the query to a semantically equivalent query by constant propagation, then this new query is able to be converted to inner join in function
simplifyOuterJoin
. For the above 4 kinds of query, the query after rewrite is:This enhancement should be a small step forward to tackle #7559
The text was updated successfully, but these errors were encountered: