Skip to content

feat(schema): refactor UpdateSchemaAction for schema evolution in Iceberg#2451

Open
TwinklerG wants to merge 6 commits into
apache:mainfrom
TwinklerG:twinklerg/update_schema
Open

feat(schema): refactor UpdateSchemaAction for schema evolution in Iceberg#2451
TwinklerG wants to merge 6 commits into
apache:mainfrom
TwinklerG:twinklerg/update_schema

Conversation

@TwinklerG
Copy link
Copy Markdown
Contributor

Which issue does this PR close?

What changes are included in this PR?

Add schema_update function and refactor UpdateSchemaAction to support schema evolution operations on Iceberg tables.

A similar PR #2120(only add column and delete column), but refactor it to add more features.

Are these changes tested?

Yes. Besides, I add some complex test cases which are ported from iceberg-java, a few of them to be implemented.

@TwinklerG TwinklerG changed the title feat: refactor UpdateSchemaAction for schema evolution in Iceberg feat: refactor UpdateSchemaAction for schema evolution in Iceberg May 14, 2026
@TwinklerG TwinklerG changed the title feat: refactor UpdateSchemaAction for schema evolution in Iceberg feat(schema): refactor UpdateSchemaAction for schema evolution in Iceberg May 14, 2026
@CTTY
Copy link
Copy Markdown
Collaborator

CTTY commented May 18, 2026

I'm not sure if this is the correct direction: it changes the update_schema API, and I don't think it adds much value for users/devs

Could you share more about your reasoning here?

@TwinklerG
Copy link
Copy Markdown
Contributor Author

TwinklerG commented May 19, 2026

I'm not sure if this is the correct direction: it changes the update_schema API, and I don't think it adds much value for users/devs

Could you share more about your reasoning here?

Well, I have been continuously tracking the Issues #2119 #697 and the related PRs. I noticed that the merged PR #2120 only added the capabilities of adding column and deleting column, but this is obviously only a small part of the schema evolution, and I don't think the original implementation was a good one. Therefore, I imitated the implementation of iceberg java and completed this refactoring

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.

Add support for adding new fields to an iceberg table

2 participants