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]