wangsheng has uploaded a new patch set (#3). ( http://gerrit.cloudera.org:8080/18061 )
Change subject: IMPALA-11040: Remove unnecessary reset() method in class 'UnionStmt' ...................................................................... IMPALA-11040: Remove unnecessary reset() method in class 'UnionStmt' When query contains multiple nested union stmt, more than twenty or thirty, and needs 'reAnalyze', such as rewrite expr. Query would execute slowly, even failed due to 'reset' method called in class 'UnionStmt' and 'SetOperationStmt'. 'SetOperationStmt' is added in IMPALA-9943 and IMPALA-4974. Multiple nested union stmt will lead to 'reset' called numbers to grow exponentially. Since 'operands_' will be reset in two class' reset() method, and handle with their children recursively. Too many nested union stmt will cause deep nesting. UnionStmt.reset() content is almost same as SetOperationStmt.reset(). This patch removed this method in 'UnionStmt'. After this, the original query would execute quickly. An example already add in file 'union.test', without this patch, the example query would execute slowly, or even fail. Testing: - Added new test case in 'union.test' Change-Id: I408a396d40d9622f2ae6c459f49cbfcc19affd14 --- M fe/src/main/java/org/apache/impala/analysis/UnionStmt.java M testdata/workloads/functional-query/queries/QueryTest/union.test 2 files changed, 129 insertions(+), 20 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/61/18061/3 -- To view, visit http://gerrit.cloudera.org:8080/18061 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I408a396d40d9622f2ae6c459f49cbfcc19affd14 Gerrit-Change-Number: 18061 Gerrit-PatchSet: 3 Gerrit-Owner: wangsheng <[email protected]> Gerrit-Reviewer: Aman Sinha <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Quanlong Huang <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]> Gerrit-Reviewer: wangsheng <[email protected]>
