TheR1sing3un opened a new pull request, #10364: URL: https://github.com/apache/paimon/pull/10364
### Purpose Python's floating-point BTree comparator treats different NaN payloads as equal, and likewise treats positive and negative zero as equal. The optional Bloom filter hashes serialized bytes, so equality/IN queries using an equivalent value with different bytes can incorrectly return no rows. Route NaN and zero point queries through the existing comparator-based range lookup. This preserves current comparison semantics and supports already-written indexes without changing key encodings or the file format. Other point queries retain the Bloom fast path. ### Tests - Cover FLOAT and DOUBLE NaN payloads/signs and both signed-zero directions, with Bloom enabled/disabled, across multiple data blocks, including multiple rows sharing a key and equality/IN queries. - `btree_bloom_filter_test.py`: 12 passed, including the existing assertion that missing ordinary keys read only the Bloom filter. Seven new cases fail against the unchanged base; one signed-zero case happens to be a Bloom false positive. - Existing `btree_thread_safety_test.py` and `global_index_build_test.py`: 47 passed. - Flake8 for changed files and `git diff --check` pass. -- 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]
