Skip to content

REST Spec: Add row lineage fields#13010

Merged
stevenzwu merged 3 commits into
apache:mainfrom
singhpk234:fix/add-v3-spec-changes
May 27, 2025
Merged

REST Spec: Add row lineage fields#13010
stevenzwu merged 3 commits into
apache:mainfrom
singhpk234:fix/add-v3-spec-changes

Conversation

@singhpk234

@singhpk234 singhpk234 commented May 8, 2025

Copy link
Copy Markdown
Contributor

About the change

includes first_row_id in the DataFile for the rest spec used in scan planning, this information IMHO needs to passed from server to client for reads, as its inferred during planning via inheritance from Manifest and manifest list.

Also adds next_row_id to table metadata and first_row_id to snapshot models for completeness,

cc @amogh-jahagirdar

@singhpk234 singhpk234 force-pushed the fix/add-v3-spec-changes branch 7 times, most recently from 8aa98db to cb66b39 Compare May 8, 2025 17:02
@singhpk234 singhpk234 force-pushed the fix/add-v3-spec-changes branch from cb66b39 to dac9eb4 Compare May 8, 2025 17:06

@amogh-jahagirdar amogh-jahagirdar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Agree with the change, thanks for taking it up!
l think we'd also want to include a change to surface the first-row-id in the snapshot as well as part of this change.
We need to also bring this up on the dev list since it's a spec change.

@RussellSpitzer RussellSpitzer 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.

I mentioned on the ML as well, is there a way we can autogenerate clients/objects from this and check them against our internal objects/apis? Just to make sure we don't diverge for key classes like this

@singhpk234

Copy link
Copy Markdown
Contributor Author

is there a way we can autogenerate clients/objects from this and check

One thought on this that comes to my mind is (open to other ideas), Open API does supports generating java clients and then for checking we can use reflection to check compare the both i.e internal objects with generated objects. Please let me know your thoughts, happy to prototype it out !

Comment thread open-api/rest-catalog-open-api.py Outdated
@github-actions github-actions Bot added the API label May 14, 2025
@singhpk234 singhpk234 changed the title [REST SPEC] Add first-row-id in the data files for Row Lineage [REST SPEC] Add row lineage to rest spec May 14, 2025
@stevenzwu stevenzwu changed the title [REST SPEC] Add row lineage to rest spec REST Spec: Add row lineage fields May 22, 2025
@singhpk234

Copy link
Copy Markdown
Contributor Author

VOTE for spec change passed : https://lists.apache.org/thread/1q3xkvn2373n3g43qjjhnzj7p0v3d9p9

would request to merge this ! Thank you all for your feedbacks !

@stevenzwu stevenzwu merged commit cab0dec into apache:main May 27, 2025
44 checks passed
@stevenzwu

Copy link
Copy Markdown
Contributor

thanks @singhpk234 for the contribution and everyone else who reviewed and voted

devendra-nr pushed a commit to devendra-nr/iceberg that referenced this pull request Dec 8, 2025
Co-authored-by: Prashant Singh <prashant.singh@snowflake.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants