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

   ### Purpose
   
   Linked issue: close #616
   
   `Storage::build` resolves the backing opendal operator through a closed 
scheme match, so an embedding engine cannot supply its own operator (custom 
service, metrics/caching layer, preconfigured client). Java Paimon exposes this 
axis through the `FileIO` interface, the `FileIOLoader` SPI, and 
`CatalogContext`'s `preferIO`/`fallbackIO`; this is the minimal Rust analog.
   
   ### Brief change log
   
   - `FileIOBuilder::with_operator(op)` stores a prebuilt `opendal::Operator`; 
when set, it takes precedence over scheme resolution in `build`.
   - `Storage::Custom { op }` variant carries it through; `create()` reuses the 
fs-relative path handling.
   
   ### Tests
   
   - `cargo test -p paimon --lib io::` (85 tests) passes; the builder path is 
exercised by the existing FileIO suites plus downstream use in StreamFusion, 
which drives all its state-table IO through an operator injected here.
   
   ### API and Format
   
   Additive API on `FileIOBuilder`; no storage-format change.
   
   ### Documentation
   
   Doc comments on the new builder method.


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