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]
