JunRuiLee opened a new pull request, #415:
URL: https://github.com/apache/paimon-rust/pull/415

   ### Purpose
   
   First PR of exposing PyPaimon's DataFrame read path to Rust. Refs #413.
   
   Exposes the Rust core's `ReadBuilder → new_scan() → plan() → DataSplit` flow
   through `bindings/python`:
   
   - 
`table.new_read_builder().with_projection([...]).with_limit(n).new_scan().plan()`
   - `Plan.splits()` returns `Split` objects that are **picklable** (opaque
     serde_json bytes), so they can cross process boundaries — groundwork for
     Ray distributed reads and a later `read(splits) → Arrow` step.
   
   Out of scope (later PRs): `with_filter` / Predicate conversion, 
`read(splits)`
   data reading, pypaimon-side wiring.
   
   ### Notes
   
   - `with_projection` is accepted and forwarded, but in PR1 it does **not** 
affect
     the planned splits — Rust core projection only applies to `new_read()` 
(data
     reading), not `new_scan()`/planning. It is staged here for the later
     `read(splits)` step. Tests assert only that planning succeeds.
   - `Split` is an opaque payload: the serde encoding is an implementation 
detail,
     not a stable schema; only same/compatible-version round-trip is guaranteed.
   
   ### Tests
   
   `bindings/python/tests/test_read.py` — 7 tests: scan planning
   (projection/limit/len) + pickle round-trip.


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