Skip to content

feat(schema): complete UpdateSchema evolution semantics - #3069

Draft
aarushigupta132 wants to merge 2 commits into
apache:mainfrom
aarushigupta132:ag/update-schema-semantics
Draft

feat(schema): complete UpdateSchema evolution semantics#3069
aarushigupta132 wants to merge 2 commits into
apache:mainfrom
aarushigupta132:ag/update-schema-semantics

Conversation

@aarushigupta132

@aarushigupta132 aarushigupta132 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Split in progress — please do not review the current cumulative diff.

This draft will become the final, small reconciliation PR after the prerequisite branches land. It will remain draft throughout the split.

Planned series

  1. refactor(schema): split UpdateSchema into focused modules #3076 — mechanical UpdateSchema module extraction
  2. fix(transaction): preserve commit invariants across retries #3075 — transaction commit/retry invariants
  3. fix(spec): preserve exact schema and temporal value semantics #3077 — exact schema and temporal value semantics
  4. Structural UpdateSchema operations: add/delete/rename/docs/case sensitivity plus metadata maintenance
  5. Field constraints and ordering: types/nullability/defaults/moves
  6. This PR: identifier-field replacement and union-by-name reconciliation

PRs 1–3 are independent and can be reviewed in parallel. PRs 4–6 are dependency-ordered and will be opened or reduced only when their bases are reviewable. Sorting and partition evolution are explicitly out of scope.

Which issue does this PR close?

Related to #2119. This is a focused alternative to #2451.

Final scope for this PR

  • Set or replace identifier fields with Java-compatible validation and ordered case-sensitivity behavior.
  • Reconcile an incoming schema by name, including nested additions, safe type promotion, documentation and default updates.
  • Add cross-catalog coverage for the completed schema-evolution sequence.

The current branch is archived unchanged at aarushigupta132:ag/update-schema-semantics-original while the series is recomposed.

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.

1 participant