Holden Karau created SPARK-59091:
------------------------------------

             Summary: Emit the NaN guard only when both equality operands can 
be NaN
                 Key: SPARK-59091
                 URL: https://issues.apache.org/jira/browse/SPARK-59091
             Project: Spark
          Issue Type: Sub-task
          Components: PySpark
    Affects Versions: 4.3.0
            Reporter: Holden Karau


`_nan_guard` emits `isnan(l) | isnan(r)` unless **both** operands are provably 
integral. For an
unannotated `lambda a, b: a == b` over BIGINT columns the category is plain 
`"numeric"`, so the
guard is emitted as `isnan(cast(bigint as double))` — provably dead, and the 
optimizer does not
fold it. Costs roughly 8 plan nodes and per-row work.



--
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