[ 
https://issues.apache.org/jira/browse/SPARK-59091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Holden Karau updated SPARK-59091:
---------------------------------
    Component/s: SQL

> 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, SQL
>    Affects Versions: 4.3.0
>            Reporter: Holden Karau
>            Assignee: Jing Zhan
>            Priority: Minor
>              Labels: pull-request-available
>
> `_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
(v10.3.26#10030026)

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

Reply via email to