This is an automated email from the ASF dual-hosted git repository.

joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit dea4e99be6ffad5e04148050c19a3b1e60cd2ffd
Author: Steve Carlin <[email protected]>
AuthorDate: Mon Oct 28 16:45:58 2024 -0700

    IMPALA-13494: Calcite planner group_concat with distinct failing
    
    The following query is failing.
    
    select sum(len_orderkey), sum(len_comment)
    from (
      select
        length(group_concat(distinct cast(l_orderkey as string))) len_orderkey,
        length(group_concat(distinct(l_comment))) len_comment
        from tpch.lineitem
        group by l_comment
      ) v
    
    There is code where in AggregationFunction for group_concat that calls
    to ignore an implicit cast. The 'isImplicitCast_' member is being used
    directly in this function, but the variable is overridden in the
    isImplicitCast method for the Calcite planner. A small change was needed
    to call the isImplicitCast() function rather than use the member variable.
    
    Change-Id: Idec41597b40a533bc0774b4ff2ab5059c7f324e2
    Reviewed-on: http://gerrit.cloudera.org:8080/22025
    Reviewed-by: Impala Public Jenkins <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 fe/src/main/java/org/apache/impala/analysis/CastExpr.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fe/src/main/java/org/apache/impala/analysis/CastExpr.java 
b/fe/src/main/java/org/apache/impala/analysis/CastExpr.java
index b5c1b5bc6..91abc6781 100644
--- a/fe/src/main/java/org/apache/impala/analysis/CastExpr.java
+++ b/fe/src/main/java/org/apache/impala/analysis/CastExpr.java
@@ -433,7 +433,7 @@ public class CastExpr extends Expr {
    */
   @Override
   public Expr ignoreImplicitCast() {
-    if (isImplicit_) {
+    if (isImplicit()) {
       // we don't expect to see to consecutive implicit casts
       Preconditions.checkState(
           !(getChild(0) instanceof CastExpr) || !((CastExpr) 
getChild(0)).isImplicit());

Reply via email to