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]