JingsongLi opened a new pull request, #1083: URL: https://github.com/apache/paimon-rust/pull/1083
## Summary PyPaimon already writes floating and binary partition keys, but its native write/update/MERGE selection excludes them. The core rejects FLOAT/DOUBLE partition names, and commit statistics currently format several partition types through diagnostic `Datum` strings. - Format FLOAT/DOUBLE partition values using Java's JDK 19+ shortest-decimal contract, including notation boundaries, finite rounding ties and subnormal values. Ryƫ is already present in the dependency tree. - Resolve existing files written with older Java floating names by matching the exact typed partition value. Reuse this private resolver for data files, bucket-local HASH indexes and deletion vectors; prefer an existing canonical path and preserve configured external paths. - Preserve original manifest metadata when a resolved read location is used by a CoW rewrite, so DELETE entries retain the original file identity. - Generate commit partition statistics through the same partition computer Java uses for paths, without path escaping, including cast-based binary names and default partition values. The implementation stays in Rust core. No Python binding or Java split protocol API changes are needed. ## Verification - `cargo fmt --all -- --check` - `cargo +1.98.0 clippy --locked --all-targets --workspace --features fulltext,vortex -- -D warnings` - `RUST_MIN_STACK=16777216 PAIMON_TEST_WAREHOUSE=/tmp/paimon-blob-row-java-warehouse cargo test --locked -p paimon --all-targets --features fulltext,vortex`: **4474 passed, 6 ignored**. - Independent finite-value formatter comparison with JDK 21: **199,544 values, zero mismatches**. Committed golden tests cover notation thresholds, rounding ties and finite extremes. - PyPaimon integration with native planning, reading, writing, updating and committing all enabled: **922 passed, 10 subtests**. Includes append, PK and data evolution writes, real external paths, old Java directories, repeated DV deletes and CoW MERGE DELETE/UPDATE. A companion PyPaimon PR enables these partition types and aligns Python partition naming/statistics with Java. It will remain draft until this core support reaches Rust main. -- 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]
