Anonymous Coward (816) has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/22870 )

Change subject: IMPALA-14061: Calcite Planner: added Calcite rules
......................................................................


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/22870/4/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteOptimizer.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteOptimizer.java:

http://gerrit.cloudera.org:8080/#/c/22870/4/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteOptimizer.java@102
PS4, Line 102: RelNode preJoinOptimizedPlan = 
runOptimizeNodesProgram(relBuilder, coercedNodesPlan);
create table t1(k1 bigint, k2 bigint);
create table t2(k1 int, k2 string, k3 bigint, v1 bigint, v2 bigint);
create table t3(k1 bigint, k2 bigint);
insert into t1 values (1,null),(null,1),(1,2), (null,2),(1,3), (2,4), (2,5), 
(3,3), (3,4), (20,2), (22,3), (24,4),(null,null);
insert into t2 values (1,'abc',2,3,4), (1,'abcd',3,3,4), (2,'xyz',2,4,2), 
(2,'uvw',3,4,2), (2,'uvw',3,4,2), (3,'abc',4,5,3), (3,'abc',4,5,3), 
(null,null,null,null,null);
insert into t3 values (1,null),(null,1),(1,4), (1,2), (null,3), (2,4), (3,7), 
(3,9),(null,null),(5,1);

select t1.* from t1 left join t2 on t1.k2 = t2.k3 and t1.k1 in ( 1,2,3,5,null ) 
order by t1.k1, t1.k2;

'SEARCH' reappear after runOptimizeNodesProgram

I0514 10:26:51.158596 3485204 LogUtil.java:26] 
76410e67ef30b5f5:01f6950700000000] [expand nodes]
LogicalSort(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC]), id = 2858
  LogicalProject(k1=[$0], k2=[$1]), id = 2856
    LogicalJoin(condition=[AND(=($1, $4), SEARCH($0, Sarg[1L:BIGINT, 2L:BIGINT, 
3L:BIGINT, 5L:BIGINT]:BIGINT))], joinType=[left]), id = 2854
      LogicalTableScan(table=[[zwhtestdb, t1]]), id = 2835
      LogicalTableScan(table=[[zwhtestdb, t2]]), id = 2837
I0514 10:26:51.160039 3485204 LogUtil.java:26] 
76410e67ef30b5f5:01f6950700000000] [coerce nodes]
LogicalSort(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC]), id = 2862
  LogicalProject(k1=[$0], k2=[$1]), id = 2861
    LogicalJoin(condition=[AND(=($1, $4), OR(=($0, 1), =($0, 2), =($0, 3), 
=($0, 5)))], joinType=[left]), id = 2860
      LogicalTableScan(table=[[zwhtestdb, t1]]), id = 2835
      LogicalTableScan(table=[[zwhtestdb, t2]]), id = 2837
I0514 10:26:51.164101 3485204 LogUtil.java:26] 
76410e67ef30b5f5:01f6950700000000] [optimize pre join]
LogicalSort(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC]), id = 2873
  LogicalProject(k1=[$0], k2=[$1]), id = 2883
    LogicalJoin(condition=[AND(=($1, $3), $2)], joinType=[left]), id = 2881
      LogicalProject(k1=[$0], k2=[$1], EXPR$0=[SEARCH($0, Sarg[1L:BIGINT, 
2L:BIGINT, 3L:BIGINT, 5L:BIGINT]:BIGINT)]), id = 2875
        LogicalTableScan(table=[[zwhtestdb, t1]]), id = 2835
      LogicalProject(k3=[$2]), id = 2876
        LogicalTableScan(table=[[zwhtestdb, t2]]), id = 2837



--
To view, visit http://gerrit.cloudera.org:8080/22870
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I6671f7ed298a18965ef0b7a5fc10f4912333a52b
Gerrit-Change-Number: 22870
Gerrit-PatchSet: 4
Gerrit-Owner: Steve Carlin <scar...@cloudera.com>
Gerrit-Reviewer: Aman Sinha <amsi...@cloudera.com>
Gerrit-Reviewer: Anonymous Coward (816)
Gerrit-Reviewer: Fang-Yu Rao <fangyu....@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <joemcdonn...@cloudera.com>
Gerrit-Reviewer: Michael Smith <michael.sm...@cloudera.com>
Gerrit-Reviewer: Riza Suminto <riza.sumi...@cloudera.com>
Gerrit-Reviewer: Steve Carlin <scar...@cloudera.com>
Gerrit-Comment-Date: Wed, 14 May 2025 02:46:09 +0000
Gerrit-HasComments: Yes

Reply via email to