Yida Wu has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/17610


Change subject: IMPALA-9338 Fix impala crashing in 
impala::RowDescriptor::TupleIsNullable(int)
......................................................................

IMPALA-9338 Fix impala crashing in impala::RowDescriptor::TupleIsNullable(int)

The root problem of the issue is that some parts of the analyzer is
case-sensitive, which is not correct, while comparing with
expressions. This can lead to the generation of an abnormal plan
when the sql contains the same identity column with different
letter cases, and therefore crashes.

The patch fixes a bug in the function of orderConjunctsByCost, which
compares the conjunct sql using different letter cases and may lead
to a wrong cost calculation only because the different letter cases.
The fix is to change the SQLs to lower cases before the comparison,
so that if two identities are with different cases originally, they
will be considered the same. Some results of the testcases need to be
changed because of the fix, mainly the order adjustments, and supposed
not to bring any issues related to the function or correctness.

A regression testcase has been added to tpch-outer-joins.

Tests:
Ran the Core FE_TEST and EE_TEST.
Passed the regression test in tpch-outer-joins.

Change-Id: I2ba031d7a6eda21a77b0e53bc41772ee9e00a528
---
M fe/src/main/java/org/apache/impala/planner/PlanNode.java
M 
testdata/workloads/functional-planner/queries/PlannerTest/min-max-runtime-filters.test
M testdata/workloads/tpch/queries/tpch-outer-joins.test
3 files changed, 22 insertions(+), 8 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/10/17610/1
--
To view, visit http://gerrit.cloudera.org:8080/17610
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2ba031d7a6eda21a77b0e53bc41772ee9e00a528
Gerrit-Change-Number: 17610
Gerrit-PatchSet: 1
Gerrit-Owner: Yida Wu <[email protected]>

Reply via email to