thswlsqls opened a new issue, #8532:
URL: https://github.com/apache/paimon/issues/8532

   **Search before asking**
   - [x] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   **Paimon version**
   master @ 005dbff9b
   
   **Compute Engine**
   Engine-agnostic Java code generation.
   
   **Minimal reproduce step**
   Generate a `RecordEqualiser` for a `DOUBLE` or `FLOAT` field and compare 
rows containing `NaN`, non-canonical NaN payloads, or signed zero. The same 
issue appears through `GenericRow`, the current `BinaryRow` fast path, nested 
arrays, and map keys containing floating-point fields.
   
   **What doesn't meet your expectations?**
   The generated equaliser uses primitive `==` for floating-point fields. This 
makes `NaN` unequal to itself and treats signed zero as equal, while generated 
comparators already use `Float.compare` and `Double.compare`. Raw row/array 
fast paths and Java map key lookup can also bypass generated floating-point 
comparison semantics.
   
   **Anything else?**
   The adjacent comparator issue was fixed in PR #8295. This fixes the same 
floating-point semantics for generated equality, including nested generated 
scalar equality and raw equality/key-lookup guards.
   
   **Are you willing to submit a PR?**
   - [x] I'm willing to submit a PR!
   
   ---
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to