JingsongLi opened a new pull request, #10461:
URL: https://github.com/apache/paimon/pull/10461

   ## Summary
   
   Use more native table IO for partition types PyPaimon already supports, 
following Java's partition semantics.
   
   - Enable native writes, row-ID/predicate updates and MERGE for FLOAT/DOUBLE 
partitions, and for BINARY/VARBINARY partitions with 
`partition.legacy-name=false`.
   - Reuse the same partition capability check before choosing a native REST 
committer. Java's legacy binary partition name contains a byte-array allocation 
identity and cannot be reproduced portably.
   - Match Java's cast-based binary UTF-8 decoding and whitespace rules when 
Python constructs partition paths and commit statistics.
   - Group partition statistics by typed partition values and reject rows whose 
arity does not match the table schema.
   - Mark bucket-local index paths external only when an external-path provider 
selected them, matching `IndexInDataFileDirPathFactory`.
   
   Tests exercise append/PK/data-evolution writes, real external directories, 
batch/stream writes, predicate updates, old Java floating directory names, 
deletion-vector restoration and CoW MERGE. Existing partition-statistics 
fixtures now declare their actual partition schema.
   
   ## Dependency
   
   Depends on https://github.com/apache/paimon-rust/pull/1083. This PR stays 
draft until that support is merged into `apache/paimon-rust` main. Native CI 
continues to build Rust main.
   
   ## Verification
   
   - Native plan/read/write/update/commit enabled together: **922 passed, 10 
subtests** across partition, deletion-vector, MERGE, update, commit, write and 
cross-partition write tests.
   - Four corrected reader/REST statistics fixtures: **4 passed**.
   - Latest binary decoder, mutable-buffer statistics and native-commit 
capability regressions: **12 passed**.
   - CI-configured Flake8 on all changed Python files.
   - All changed files parse with Python 3.6 syntax.
   


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