Paul Rogers created IMPALA-7949: ----------------------------------- Summary: BinaryPredicate rewrite results in double cast Key: IMPALA-7949 URL: https://issues.apache.org/jira/browse/IMPALA-7949 Project: IMPALA Issue Type: Bug Components: Frontend Affects Versions: Impala 3.1.0 Reporter: Paul Rogers Assignee: Paul Rogers
Consider the existing unit test: {{ExprRewriteRulesTest.TestNormalizeBinaryPredicatesRule}}, with this SELECT expression: {code:sql} cast(0 as double) = id {code} The existing test case simply does a "toSql" on the rewritten expression, suppressing implicit casts, expecting: {code:sql} id = CAST(0 AS DOUBLE) {code} However, if we examine the AST itself, or render the rewritten expression showing implicit casts, we see we get: {code:sql} CAST(id AS DOUBLE) = CAST(CAST(0 AS DOUBLE) AS DOUBLE) {code} In this particular case, the double-case it benign as the constant-folding rule, if enabled, will remove the two casts. But, if the value were a column, the double casts would exist in the plan sent to the, resulting in an unnecessary extra step. The expected behavior is the function argument type propagation would not insert a cast if it is not needed. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org