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

   ### Purpose
   
   Continue moving existing PyPaimon REST read/write/update operations to 
Native execution, including resolved custom FileIO/catalog IO loaders and 
custom query authorization. Also fix Java's legacy BINARY/VARBINARY partition 
naming and align Python with it.
   
   Depends on https://github.com/apache/paimon-rust/pull/1172. Native CI 
continues building Rust main; this PR is draft until the companion Rust APIs 
land.
   
   - Reuse the table's resolved Python FileIO for custom providers/loaders, 
including custom URI schemes, without replaying loaders or replacing its 
storage credential refresh. Keep REST snapshot publication and identity checks.
   - Forward catalog query-authorizer callbacks to Rust core. Preserve empty 
factory/result semantics, per-operation authorization and original exceptions. 
Custom hooks apply even when the standard authorization option is disabled; 
plan/stats and global-index routing respect the effective hook.
   - Preserve the Python path for custom snapshot-loading or publication 
protocols. Include provider identity in native table caches.
   - Fix Java legacy binary partitions: `byte[].toString()` encoded an 
allocation identity and produced different paths on repeated reads of the same 
value. Reuse the existing UTF-8 cast for BINARY/VARBINARY in both naming modes, 
preserving all other legacy types. Align Python and remove obsolete Native 
binary-partition exclusions.
   - Add regression coverage for custom storage 
write/commit/update/overwrite/truncate, authorization refusal before 
staging/callables, cache replacement, branch routing and stable binary 
partition paths.
   
   ### Tests
   
   - `InternalRowPartitionComputerTest`: 5 passed, including Maven Checkstyle 
and Spotless (no fast-build for final Java verification).
   - Focused Python read/write/update/commit suites: 315 passed, 44 subtests 
passed, 960 skipped because the Native extension is not installed locally.
   - All changed Python files pass Flake8 and Python 3.6 syntax parsing.
   - Companion Rust: full core suite 4311 passed before rebase, focused core 
tests repeated after rebase, binding tests plus actual core Parquet -> commit 
-> plan -> read through a Python FileIO, Rust 1.98.0 all-target Clippy.
   - Native extension was neither rebuilt nor installed for local Python tests. 
Native integration cases remain enabled for CI with the companion Rust 
implementation.
   


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