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]
