lxy-9602 opened a new pull request, #71: URL: https://github.com/apache/paimon-cpp/pull/71
<!-- Please specify the module before the PR name: feat: ... or fix: ... --> ### Purpose <!-- Linking this pull request to the issue --> No Linked issue. Migrate bucket ID calculation, bucket functions, and bucket select converter: Bucket interfaces (`include/paimon/bucket/`): - `BucketIdCalculator` — computes bucket ID for a given row (`bucket_id_calculator.h`) - `BucketFunctionType` — enum for bucket function types (`bucket_function_type.h`) Bucket functions (`src/paimon/core/bucket/`): - `BucketFunction` — abstract bucket function interface (`bucket_function.h`) - `BucketIdCalculator` — bucket ID calculation with hash-based routing (`bucket_id_calculator.cpp`) - `HiveBucketFunction` — Hive-compatible bucket hash function (`hive_bucket_function.h/cpp`) - `HiveHasher` — Hive ObjectInspector-compatible hashers for all data types (`hive_hasher.h`) - `ModBucketFunction` — simple modulo-based bucket function (`mod_bucket_function.h/cpp`) - `DefaultBucketFunction` — default bucket function using MurmurHash (`default_bucket_function.h`) - `BucketSelectConverter` — converts predicates to bucket filter for scan pruning (`bucket_select_converter.h/cpp`) <!-- What is the purpose of the change --> ### Tests - `bucket_id_calculator_test.cpp` — bucket ID calculation correctness - `hive_bucket_function_test.cpp` — Hive bucket hash Java compatibility - `mod_bucket_function_test.cpp` — modulo bucket function - `default_bucket_function_test.cpp` — default bucket function - `bucket_select_converter_test.cpp` — predicate to bucket filter conversion <!-- List UT and IT cases to verify this change --> ### API and Format <!-- Does this change affect API in include dir or storage format or protocol --> ### Documentation <!-- Does this change introduce a new feature --> ### Generative AI tooling Migrate-by: Aone Copilot (Claude) <!-- If generative AI tooling has been used in the process of authoring this patch, please include the phrase: 'Generated-by: ' followed by the name of the tool and its version. If no, write 'No'. Please refer to the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) for details. --> -- 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]
