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

   ### Purpose
   
   Keep PyPaimon's existing `with_blob_uri_reader_factory` API on native Arrow 
writes instead of selecting the Python writer.
   
   Depends on https://github.com/apache/paimon-rust/pull/1065. This PR is draft 
until the Rust interfaces merge. Native CI continues to build Rust `main`; no 
branch pin or compatibility fallback is added.
   
   The adapter only forwards the factory and retains it for an explicit 
row-writer fallback. Descriptor-window copying, successful short reads, stream 
identity/reuse, failed-seek reopening, unknown-length EOF copying and source 
closure are implemented in Rust core, following Java `UriReaderFactory`, 
`UriReader`, `ReusingBlobRefStreamProvider` and managed Blob pack cleanup.
   
   Tests cover batch and stream writes; scalar, array and map Blob values; 
BlobConsumer composition; nonseekable sources and unknown-length references; 
original callback exceptions; premature EOF and failed preparation; setter 
replacement/clearing and row fallback; managed fixed/pending/postpone-fixed 
writes; and stable or changing reader identity. The multi-column interleaving 
test reproduced the binding identity bug before its fix.
   
   ### Tests
   
   With the locally rebuilt Rust binding from the companion PR:
   
   - Focused URI reader/BlobConsumer/write tests: 48 passed.
   - Extended Blob/write/update suite with all Native switches enabled: 518 
passed, plus 1 subtest. Actual native paths: 659 plans, 863 reads, 800 writes, 
169 commits; row-id/grouped/predicate/upsert/incremental update categories all 
exercised.
   - Companion Rust core: 3,773 passed, 6 ignored. Full Python binding suite: 
331 passed.
   - `flake8 --config dev/cfg.ini` for changed files, `git diff --check` and 
Python 3.6 syntax parsing: passed.
   


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