Thomas Tauber-Marshall has uploaded a new patch set (#2).

Change subject: IMPALA-4849: IllegalStateException from rewritten CASE expr
......................................................................

IMPALA-4849: IllegalStateException from rewritten CASE expr

In SelectList.reset(), we call reset() on each select list item's
expr. reset() is supposed to remove implicit casts, by returning
the reset expr with implicit cast exprs removed from the tree.

Previously SelectList.reset() ignored the return value of the calls
to Expr.reset(), meaning that if the top-most expr of the select list
item is an implicit cast, it won't actually get removed, which causes
problems with analysis since implicit casts are always treated as
pre-analyzed.

The solution is to set the select list item's exprs to the return
value of reset().

Testing:
- Added a regression test to exprs.test

Change-Id: I16ff88716b185e1d72d2bc603a42bd06c60ec18e
---
M fe/src/main/java/org/apache/impala/analysis/SelectList.java
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
2 files changed, 16 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/17/5917/2
-- 
To view, visit http://gerrit.cloudera.org:8080/5917
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I16ff88716b185e1d72d2bc603a42bd06c60ec18e
Gerrit-PatchSet: 2
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Thomas Tauber-Marshall <tmarsh...@cloudera.com>
Gerrit-Reviewer: Alex Behm <alex.b...@cloudera.com>

Reply via email to