Yongzhi Chen has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13765


Change subject: IMPALA-8718: Fixed AnalysisException in inline view with outer 
join complex type column
......................................................................

IMPALA-8718: Fixed AnalysisException in inline view
with outer join complex type column

For Inline view with left outer join,  in order to
make right side exprs nullable, it makes a wrapper
for the expr that return non-null when all its
contained slotref is null.
The wrap is TupleIsNullPredicate.
Complex type does not need the wrapper for its value
cannot both be null and non-null. But during its
checking whether the wrapper needed, because of code
limitation, AnalysisException is thrown.

This fix overcomes the limitation by avoiding to use
unsupported IsNullPredicate for complex type. It should
be a safe change for:
1. Other data types such as int return false after
a call to backend to check isNotNull(nullvalue).
2.Left outer join with complex type works fine
for the queries without inline view. Join code can
handle complex type correctly without the wrapper.

Tests:
Added ee tests to test left outer joins.
Manual tests.

Change-Id: Ida65503ca4b1342b8fe0049753bc664da227dca9
---
M fe/src/main/java/org/apache/impala/analysis/TupleIsNullPredicate.java
A testdata/workloads/functional-query/queries/QueryTest/complex_joins.test
A tests/query_test/test_complex.py
3 files changed, 85 insertions(+), 0 deletions(-)



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ida65503ca4b1342b8fe0049753bc664da227dca9
Gerrit-Change-Number: 13765
Gerrit-PatchSet: 1
Gerrit-Owner: Yongzhi Chen <yc...@cloudera.com>

Reply via email to