Alex Behm has posted comments on this change. Change subject: IMPALA-5597: Try casting targetExpr when building runtime filter plan ......................................................................
Patch Set 2: (8 comments) http://gerrit.cloudera.org:8080/#/c/7949/2/fe/src/main/java/org/apache/impala/analysis/Expr.java File fe/src/main/java/org/apache/impala/analysis/Expr.java: PS2, Line 866: Thanks for removing http://gerrit.cloudera.org:8080/#/c/7949/2/fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java File fe/src/main/java/org/apache/impala/planner/RuntimeFilterGenerator.java: Line 585: targetExpr = targetExpr.substitute(smap, analyzer,false); Better to use try/catch and return null in case the re-analysis (part of substitute()) fails for some reason. Space before "false" Line 587: Type srcType = filter.getSrcExpr().getType(); Add a comment explaining why the types must be identical Line 591: } catch(AnalysisException | IllegalArgumentException e){ catch Exception formatting (space after catch, space before "{") Line 594: Preconditions.checkState(targetExpr.getType().equals(srcType)); remove (obviously true from code above) http://gerrit.cloudera.org:8080/#/c/7949/2/testdata/workloads/functional-query/queries/QueryTest/joins.test File testdata/workloads/functional-query/queries/QueryTest/joins.test: Line 774: ---- QUERY Also add a planner test in runtime-filter-propagation.test Line 775: # IMPALA-5597: Tests that a join on clause with lhs and rhs having different types will Comment is wrong. Line 777: select * EE test should go into runtime_row_filters.test -- To view, visit http://gerrit.cloudera.org:8080/7949 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0d66673e280ce13cd3a514236c0c2ecbc50475a6 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tianyi Wang <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Tianyi Wang <[email protected]> Gerrit-HasComments: Yes
