wangsheng has uploaded a new patch set (#6). ( 
http://gerrit.cloudera.org:8080/18099 )

Change subject: IMPALA-11049: Substitute order by elements when creating 
SortInfo
......................................................................

IMPALA-11049: Substitute order by elements when creating SortInfo

Currently, Impala cloned order by elements' exprs, and substitute
these cloned exprs in-place, original exprs not changed. But when
executing 'SelectStmt.rewriteExprs()', Impala rewrite 'orderByElements_'
instead of 'sortInfo_', which causes AnalysisException due to 'INVALID'
exprs in 'orderByElements_'. They are 'INVALID' type because they
weren't not analyzed.
This patch will substitute exprs in 'orderByElements_' in-place, and
use these substituted exprs to create 'SortInfo'. But Pay attention,
this will changed explain result when printing sql. For example:

  explain select id, count(1) from functional.alltypes
      group by 1 order by 1;

Without this patch, the EXPLAIN output is:

  Analyzed query: SELECT id, count(*) FROM functional.alltypes
      GROUP BY id ORDER BY CAST(1 AS TINYINT) ASC

After rewrite 'sortInfo_', the EXPLAIN output is:

  Analyzed query: SELECT id, count(*) FROM functional.alltypes
      GROUP BY id ORDER BY id ASC

Besides, we also add a condition check in 'SimplifyCastExprRule' to
ensure that exprs are already analyzed.

Testing:
- Added test cases in 'explain-level3.test'

Change-Id: I2780e04a6d5a32e224cd0470cf6f166a832363ec
---
M fe/src/main/java/org/apache/impala/rewrite/SimplifyCastExprRule.java
M testdata/workloads/functional-query/queries/QueryTest/explain-level3.test
2 files changed, 62 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/99/18099/6
-- 
To view, visit http://gerrit.cloudera.org:8080/18099
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2780e04a6d5a32e224cd0470cf6f166a832363ec
Gerrit-Change-Number: 18099
Gerrit-PatchSet: 6
Gerrit-Owner: wangsheng <sky...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <huangquanl...@gmail.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <borokna...@cloudera.com>
Gerrit-Reviewer: wangsheng <sky...@163.com>

Reply via email to