Perseus opened a new issue, #3391:
URL: https://github.com/apache/iceberg-rust/issues/3391

   ### Is your feature request related to a problem or challenge?
   
   Iceberg metadata tables like snapshots currently [scan/project every column 
](https://github.com/apache/iceberg-rust/blob/main/crates/iceberg/src/inspect/snapshots.rs#L111-L122).
 This leads to unneccessary overhead if the caller only requests a few columns.
   
   ### Describe the solution you'd like
   
   Similar to normal tables, we could implement the ability to specify columns 
as part of the scan-building process. I looked through a couple of other 
libraries for reference, and it looks like the [Java Iceberg  
](https://github.com/apache/iceberg/blob/main/core/src/main/java/org/apache/iceberg/SnapshotsTable.java#L51-L87)
 library does something similar - using the existing 'Scan' infrastructure and 
extending it to metadata tables as well.
   
   Today's API looks like
   ```rust
     table
        .inspect()
        .snapshots()
        .scan()
        .await?
   ```
   
   A future API could look something like
   
   ```rust
     table
       .inspect()
       .snapshots()
       .select(["operation", "snapshot_id"])
       .scan()
       .await?
   ```
   
   This suggestion is merely illustrative, I think that any 
abstraction/configuration that supports the core feature is good.
   
   ### Willingness to contribute
   
   I would be willing to contribute to this feature with guidance from the 
Iceberg Rust community


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to