alamb commented on issue #172:
URL: https://github.com/apache/iceberg-rust/issues/172#issuecomment-2473264890

   One potential API that would not cause disruption to the current consumers 
would be to add a extension trait like we do with 
[UserDefinedLogicalNode](https://docs.rs/datafusion/latest/datafusion/logical_expr/trait.UserDefinedLogicalNode.html)
 in DataFusion
   
   The user would create a `FileIO` like
   
   ```rust
   let my_wrapper = Arc::new(ObjectStoreWrapper::new(...))
   ...
   // FileIO remains a struct that wraps a Storage  enum
   let file_io = FileIO::from_extension(my_wrapper)
   ```
   
   We could add a new variant of `Storage` like `Storage::Extension`
   
   
https://github.com/apache/iceberg-rust/blob/52296eb5e1be88a241903488c133214cb5a9a363/crates/iceberg/src/io/storage.rs#L31
   
   A user would create one like
   ```rust
   struct ObjectStoreWrapper {
   ...
   }
   
   /// New trait that users would have to implement
   impl FileIOExtension  { 
   ...
   }
   ```
   
   
   


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to