Linhong Liu created SPARK-60637:
-----------------------------------

             Summary: Account for decimal coercion when deriving VALUES 
nullability
                 Key: SPARK-60637
                 URL: https://issues.apache.org/jira/browse/SPARK-60637
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 5.0.0
            Reporter: Linhong Liu


VALUES currently derives output nullability from the original expressions 
rather than their coerced forms. With ANSI mode disabled and 
spark.sql.legacy.decimal.retainFractionDigitsOnTruncate=true, combining a 
38-digit integer with 0.1 can overflow the integer to NULL but leave the output 
marked nonnullable. IS NULL and COUNT(column) can then return incorrect 
results. Derive metadata from coerced expressions. For eagerly materialized 
tables, retain nonnullable metadata for originally nonnullable columns when 
every evaluated value is non-NULL, without evaluating expressions again. Cover 
both eager evaluation settings and the runtime-expression Expand path. 
CURRENT_LIKE-deferred tables may retain conservative nullability.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to