GANHONGNAN created SPARK-49350:
----------------------------------

             Summary: FoldablePropagation rule and ConstantFolding rule leads 
to wrong aggregated result
                 Key: SPARK-49350
                 URL: https://issues.apache.org/jira/browse/SPARK-49350
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 3.2.1
            Reporter: GANHONGNAN


{code:java}
SELECT  cast(-1 AS BIGINT) AS ele1
FROM    (            
       SELECT  array(1, 5, 3, 123, 255, 546, 64, 23) AS t        
   ) LATERAL VIEW explode(t) tmp AS ele
WHERE   ele=-1 {code}
This query returns an empty result. However, the following query returns 1.  
This result seems wrong.
{code:java}
SELECT  count(DISTINCT ele1)
FROM    (            
    SELECT  cast(-1 as bigint) as ele1            
    FROM    (                        
        SELECT  array(1, 5, 3, 123, 255, 546, 64, 23) AS t                      
 
        ) LATERAL VIEW explode(t) tmp AS ele            
    WHERE   ele = -1        
) {code}
By plan change log, I find that it is FoldablePropagation rule and 
ConstantFolding rule that optimize Aggregate expression to `Aggregat 
[cast(count(distinct -1) as string) AS count(DISTINCT ele)#7]`.

 

I think it needs to be fixed.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to