[ https://issues.apache.org/jira/browse/IMPALA-11284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17765800#comment-17765800 ]
ASF subversion and git services commented on IMPALA-11284: ---------------------------------------------------------- Commit 130a55e5269ea023b43ef2c0b495989cb0759800 in impala's branch refs/heads/branch-4.3.0 from Abhishek Rawat [ https://gitbox.apache.org/repos/asf?p=impala.git;h=130a55e52 ] IMPALA-11284: Do non-optional rewrites for || and Between predicate IMPALA-6590 disabled expression rewrites for ValuesStmt. However, CompoundVerticalBarExpr (||) cannot be executed directly without rewrite. This is because it could either be an OR operation with boolean arguments or CONCAT function call with string arguments. Backend cannot evaluate a BetweenPredicate and relies on rewriting BetweenPredicate into a conjunctive or disjunctive CompoundPredicate. This patch enables non-optional expression rewrites for ValuesStmt with CompoundVerticalBarExpr or BetweenPredicate. Testing: - Extended ExprRewriterTest and Planner test to have values clause with || and Between predicate Change-Id: I99b8b33bf6468d12b9e26f0a6e744feb7072619c Reviewed-on: http://gerrit.cloudera.org:8080/18581 Reviewed-by: Michael Smith <michael.sm...@cloudera.com> Reviewed-by: Daniel Becker <daniel.bec...@cloudera.com> Tested-by: Riza Suminto <riza.sumi...@cloudera.com> > INSERT query with concat operator fails with 'Function not set in thrift > node' error > ------------------------------------------------------------------------------------ > > Key: IMPALA-11284 > URL: https://issues.apache.org/jira/browse/IMPALA-11284 > Project: IMPALA > Issue Type: Bug > Components: Frontend > Affects Versions: Impala 4.1.0 > Reporter: Abhishek Rawat > Assignee: Riza Suminto > Priority: Critical > Fix For: Impala 4.3.0 > > > *Steps to Reproduce:* > {code:java} > DROP TABLE t2; > CREATE TABLE t2(c0 BOOLEAN, c1 STRING) STORED AS ICEBERG; > INSERT INTO t2(c0, c1) VALUES ( TRUE, ( 'abc' ||('927160245' || 'Q') ) ); > Error: Function not set in thrift node{code} > Looks like a regression introduced by IMPALA-6590. > fn_ was previously serialized during rewrite in : > {code:java} > treeToThriftHelper:FunctionCallExpr(Expr).treeToThriftHelper(TExpr) line: 866 > FunctionCallExpr(Expr).treeToThrift() line: 844 > FeSupport.EvalExprWithoutRowBounded(Expr, TQueryCtx, int) line: 188 > LiteralExpr.createBounded(Expr, TQueryCtx, int) line: 210 > FoldConstantsRule.apply(Expr, Analyzer) line: 66 > ExprRewriter.applyRuleBottomUp(Expr, ExprRewriteRule, Analyzer) line: 85 > ExprRewriter.applyRuleRepeatedly(Expr, ExprRewriteRule, Analyzer) line: 71 > ExprRewriter.rewrite(Expr, Analyzer) line: 55 > SelectList.rewriteExprs(ExprRewriter, Analyzer) line: 100 > SelectStmt.rewriteExprs(ExprRewriter) line: 1189 > ValuesStmt(SetOperationStmt).rewriteExprs(ExprRewriter) line: 467 > InsertStmt.rewriteExprs(ExprRewriter) line: 1119 > AnalysisContext.analyze(StmtMetadataLoader$StmtTableCache, > AuthorizationContext) line: 537 {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org