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]
