kevinjqliu commented on issue #1053: URL: https://github.com/apache/iceberg-python/issues/1053#issuecomment-2661633989
hey folks, sorry for the late response here. I think there are a couple of different things here. 1. time travel for metadata tables. this is a feature for metadata tables other than the `all_*` metadata tables. In python, this is analogous to calling `tbl.inspect.entries(snapshot_id=...)` (in java its `FROM tbl.entries AS OF snapshot_id`). Time traveling is not available for `all_*` metadata tables since we're already getting it for all snapshots. 2. Metadata tables (except the `all_*` metadata tables) should support time travel (by optionally accepting a `snapshot_id` argument) and then use the snapshot id to provide table metadata such as schema and partition spec. We should double check all usage of `self.tbl.metadata.*` (`self.tbl.metadata.schema()`, `self.tbl.metadata.spec_struct()`) since this is using the current table metadata instead of the metadata at the time of the snapshot. 3. `all_*` metadata tables are implicitly using the time travel feature. For example, `all_entries` is essentially calling `[tbl.inspect.entries(snapshot_id) for snapshot_id in tbl.snapshots()]`. Because of this, we should ensure the same time travel behavior as mentioned in (2). @soumya-ghosh @amitgilad3 does that make sense? Please let me know if i misinterpreted anything -- 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