zjw1111 opened a new pull request, #255:
URL: https://github.com/apache/paimon-cpp/pull/255

   ### Purpose
   
   Linked issue: N/A
   
   Canonicalize all floating-point NaN payloads before Literal hashing and 
bitmap-index metadata serialization so values that compare equal also share a 
hash and use the Java-compatible wire representation.
   
   This also centralizes Java-compatible float/double bit conversion for Bloom 
filter hashing and Hive bucket hashing, and enables bitmap-index metadata 
read/write coverage for FLOAT and DOUBLE values.
   
   ### Tests
   
   - pre-commit run --files include/paimon/predicate/literal.h 
src/paimon/common/file_index/bitmap/bitmap_file_index_meta.cpp 
src/paimon/common/file_index/bitmap/bitmap_file_index_test.cpp 
src/paimon/common/file_index/bloomfilter/fast_hash.cpp 
src/paimon/common/predicate/literal.cpp src/paimon/common/utils/math.h 
src/paimon/common/utils/math_test.cpp 
src/paimon/core/bucket/hive_bucket_function.cpp 
src/paimon/core/bucket/hive_bucket_function_test.cpp
   - cmake --build build --target paimon-common-test paimon-core-test -j 64
   - ASAN_OPTIONS=detect_leaks=0 ./build/debug/paimon-common-test 
--gtest_filter=MathTest.FloatingPointNaNCanonicalization:BitmapIndexTest.TestFloatAndDoubleTypes:BitmapIndexTest.TestFloatingPointJavaCompatibility:FastHashTest.TestNaNCompatibleWithJava
   - ASAN_OPTIONS=detect_leaks=0 ./build/debug/paimon-core-test 
--gtest_filter=HiveBucketFunctionTest.TestFloatNaNCanonicalizationCompatibleWithJava:HiveBucketFunctionTest.TestDoubleNaNCanonicalizationCompatibleWithJava
   
   ### API and Format
   
   No public API signature changes. Bitmap-index FLOAT and DOUBLE keys are 
serialized with canonical Java NaN bit patterns, making C++ output compatible 
with Java for arbitrary NaN payloads.
   
   ### Documentation
   
   No user-facing documentation changes.
   
   ### Generative AI tooling
   
   Generated-by: OpenAI Codex (GPT-5).


-- 
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