Skip to content

fix(table): resolve dropped equality fields from schema history - #1952

Open
mattfaltyn wants to merge 1 commit into
apache:mainfrom
mattfaltyn:fix-dropped-equality-delete-key
Open

fix(table): resolve dropped equality fields from schema history#1952
mattfaltyn wants to merge 1 commit into
apache:mainfrom
mattfaltyn:fix-dropped-equality-delete-key

Conversation

@mattfaltyn

Copy link
Copy Markdown
Contributor

Fixes #1951.

Summary

  • resolve equality-delete fields against the newest table schema that contains the complete key when those fields are absent from the current schema
  • load schema history only for scans whose equality keys are missing from the current schema
  • extend the equality-delete round trip to drop the key and verify a surviving-column projection still applies the delete

Why

Equality delete files retain stable table field IDs after schema evolution. The reader previously resolved those IDs only against the current schema, so dropping a live equality key made affected scans fail before filtering.

Using the newest historical schema that contains the delete file's complete key preserves field identity and keeps the current result projection unchanged.

Testing

  • go test ./table -run '^TestEqualityDeleteReadRoundTrip$' -count=2 -v
  • go test ./table -run 'EqualityDelete' -count=1
  • go test -race ./table -run '^TestEqualityDeleteReadRoundTrip$' -count=1
  • go vet ./table
  • make test
  • make lint
  • make test-race
  • make test-assert

Signed-off-by: Matt Faltyn <faltyn.matthew@gmail.com>
@mattfaltyn
mattfaltyn marked this pull request as ready for review August 28, 2026 18:52
@mattfaltyn
mattfaltyn requested a review from zeroshade as a code owner August 28, 2026 18:52
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.

Equality-delete scans fail after dropping the delete key column

1 participant