Skip to content

feat(table): add history metadata table#1465

Merged
zeroshade merged 1 commit into
apache:mainfrom
laskoviymishka:feat/inspect-history-table
Jul 14, 2026
Merged

feat(table): add history metadata table#1465
zeroshade merged 1 commit into
apache:mainfrom
laskoviymishka:feat/inspect-history-table

Conversation

@laskoviymishka

Copy link
Copy Markdown
Contributor

Add an inspect subsystem (Table.Inspect) and its first metadata table, History, mirroring the Java, PyIceberg, and Rust clients.

History exposes the snapshot log as an Arrow RecordReader with columns made_current_at (timestamp[us,UTC]), snapshot_id, parent_id, and is_current_ancestor (field IDs 1-4 for cross-client parity). Ancestry is computed by walking the current snapshot's parent chain via the existing AncestorsOf helper (cycle-guarded); rolled-back snapshots are flagged non-ancestors and expired snapshots render a null parent_id. The context is honored during iteration and errors are wrapped.

Add an inspect subsystem (Table.Inspect) and its first metadata table,
History, mirroring the Java, PyIceberg, and Rust clients
(apache/iceberg-rust#2825).

History exposes the snapshot log as an Arrow RecordReader with columns
made_current_at (timestamp[us,UTC]), snapshot_id, parent_id, and
is_current_ancestor (field IDs 1-4 for cross-client parity). Ancestry is
computed by walking the current snapshot's parent chain via the existing
AncestorsOf helper (cycle-guarded); rolled-back snapshots are flagged
non-ancestors and expired snapshots render a null parent_id. The context
is honored during iteration and errors are wrapped.
@laskoviymishka
laskoviymishka marked this pull request as ready for review July 14, 2026 13:01

@zeroshade zeroshade left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@zeroshade
zeroshade merged commit 9fcb5ad into apache:main Jul 14, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants