Steve Carlin has uploaded this change for review. ( http://gerrit.cloudera.org:8080/21911
Change subject: IMPALA-13430: Too many RelNodes created for "IN" literals ...................................................................... IMPALA-13430: Too many RelNodes created for "IN" literals The "withCreateValuesRel" config parameter causes a "value" node to be created for every literal in an "in" clause. This slows down the compilation time and runtime massively. By removing this parameter, all literal values are placed within one Values RelNode. Changing this parameter exposed a bug in tpcds q8. The CoerceNodes module explicitly creates a Project node above a Values node when the values node contains a string literal. Unfortunately, a Calcite limitation prevents the string literal to be of type "string" but instead is of type "char(x)". Because of this limitation this Project hack was created. When converting Calcite RelNodes to Impala RelNodes, we "notify" the Values RelNode that it should ignore the row datatypes of the current Values RelNode and instead use the parent row datatypes. Change-Id: Ifc3d84c70af9cd4db44359c4ab7f0c9eb70738f5 --- M java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaProjectRel.java M java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java 2 files changed, 70 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/11/21911/1 -- To view, visit http://gerrit.cloudera.org:8080/21911 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifc3d84c70af9cd4db44359c4ab7f0c9eb70738f5 Gerrit-Change-Number: 21911 Gerrit-PatchSet: 1 Gerrit-Owner: Steve Carlin <[email protected]>
