Skip to content

Spec: Update formatting in tables to use material content tabs#14656

Merged
kevinjqliu merged 4 commits intoapache:mainfrom
amogh-jahagirdar:format-spec-content-tabs
May 8, 2026
Merged

Spec: Update formatting in tables to use material content tabs#14656
kevinjqliu merged 4 commits intoapache:mainfrom
amogh-jahagirdar:format-spec-content-tabs

Conversation

@amogh-jahagirdar
Copy link
Copy Markdown
Contributor

@amogh-jahagirdar amogh-jahagirdar commented Nov 22, 2025

Trying to see how material content tabs look like for tables in the spec. Specifically, this is done with the intent to prepare for later spec changes like v4, where tables will either be completely different and/or make the current tables very wide and hard to represent in the site. With separate tabs , a user can just select which format version they want to look at and see the fields. It does make comparison with previous format versions a bit more involved as that's a tab switch but we have to weight that against the difficulty of adding new stuff to these tables as well.

Before:

Screenshot 2025-11-21 at 6 06 10 PM

After:
Screenshot 2025-11-21 at 6 05 35 PM

@github-actions github-actions Bot added the Specification Issues that may introduce spec changes. label Nov 22, 2025
@amogh-jahagirdar amogh-jahagirdar changed the title Spec: Update formatting to use material content tabs Spec: Update formatting in tables to use material content tabs Nov 22, 2025
Copy link
Copy Markdown
Contributor

@nastra nastra left a comment

Choose a reason for hiding this comment

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

I actually like it because it makes it easier to spot the fields that are relevant for a given format version

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 5, 2026

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions Bot added the stale label Jan 5, 2026
@github-actions
Copy link
Copy Markdown

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions Bot closed this Jan 13, 2026
@github-actions github-actions Bot removed the stale label Jan 21, 2026
@github-actions
Copy link
Copy Markdown

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions Bot added the stale label Feb 20, 2026
@github-actions
Copy link
Copy Markdown

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions Bot closed this Feb 27, 2026
@stevenzwu
Copy link
Copy Markdown
Contributor

I agree that tabs is probably the more sustainable as more versions are added to the spec. So I am +1 for this direction.

Just to point out one benefit of the old layout. It is easier to see the changes/differences across versions in the old layout.

Copy link
Copy Markdown
Contributor

@stevenzwu stevenzwu left a comment

Choose a reason for hiding this comment

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

I am onboard with the tabs approach.

Just some minor comments on dropped content, since this is supposed to be a format only change.

Comment thread format/spec.md Outdated
Comment thread format/spec.md Outdated
Comment thread format/spec.md Outdated
Comment thread format/spec.md Outdated
Restore four pieces of content that were accidentally removed in the
formatting-only tab refactor, as flagged by Steven's review:

- column_sizes: restore "Does not include bytes necessary to read other
  columns, like footers." sentence
- partitions: restore "(see below)" cross-reference to field_summary table
- partition-spec: restore note that writers use this field but readers use
  specs from manifest files
- properties: restore commit.retry.num-retries example

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@amogh-jahagirdar
Copy link
Copy Markdown
Contributor Author

amogh-jahagirdar commented May 7, 2026

Great catch @stevenzwu! I have added back those descriptors, I'm not sure how those specific statements ended up getting dropped

Copy link
Copy Markdown
Contributor

@kevinjqliu kevinjqliu left a comment

Choose a reason for hiding this comment

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

LGTM! Verified locally

One nit about putting back the see below

Comment thread format/spec.md
| _required_ | | | ~~**`105 block_size_in_bytes`**~~ | `long` | **Deprecated. Always write a default in v1. Do not write in v2 or v3.** |
| _optional_ | | | ~~**`106 file_ordinal`**~~ | `int` | **Deprecated. Do not write.** |
| _optional_ | | | ~~**`107 sort_columns`**~~ | `list<112: int>` | **Deprecated. Do not write.** |
| _optional_ | _optional_ | _optional_ | **`108 column_sizes`** | `map<117: int, 118: long>` | Map from column id to the total size on disk of all regions that store the column. **Does not include bytes necessary to read other columns, like footers.** Leave null for row-oriented formats (Avro) |
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.

👍 just a formatting change

Comment thread format/spec.md
| _optional_ | _required_ | _required_ | **`512 added_rows_count`** | `long` | Number of rows in all of files in the manifest that have status `ADDED`, when `null` this is assumed to be non-zero |
| _optional_ | _required_ | _required_ | **`513 existing_rows_count`** | `long` | Number of rows in all of files in the manifest that have status `EXISTING`, when `null` this is assumed to be non-zero |
| _optional_ | _required_ | _required_ | **`514 deleted_rows_count`** | `long` | Number of rows in all of files in the manifest that have status `DELETED`, when `null` this is assumed to be non-zero |
| _optional_ | _optional_ | _optional_ | **`507 partitions`** | `list<508: field_summary>` **(see below)** | A list of field summaries for each partition field in the spec. Each field in the list corresponds to a field in the manifest file’s partition spec. |
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.

👍 just a formatting change, bolded (see below)

Comment thread format/spec.md
| _required_ | | | **`schema`** | The table’s current schema. (**Deprecated**: use `schemas` and `current-schema-id` instead) |
| _optional_ | _required_ | _required_ | **`schemas`** | A list of schemas, stored as objects with `schema-id`. |
| _optional_ | _required_ | _required_ | **`current-schema-id`** | ID of the table’s current schema. |
| _required_ | | | **`partition-spec`** | The table’s current partition spec, stored as only fields. (**Deprecated**: use `partition-specs` and `default-spec-id` instead) Note that this is used by writers to partition data, but is not used when reading because reads use the specs stored in manifest files. |
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.

👍 just a formatting change, switch deprecation message to be before the note

Comment thread format/spec.md Outdated
@kevinjqliu kevinjqliu merged commit b84d446 into apache:main May 8, 2026
7 checks passed
@kevinjqliu
Copy link
Copy Markdown
Contributor

Copy link
Copy Markdown
Member

@RussellSpitzer RussellSpitzer left a comment

Choose a reason for hiding this comment

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

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Specification Issues that may introduce spec changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants