dgvj-work opened a new pull request, #2171: URL: https://github.com/apache/iceberg-go/pull/2171
## Summary Stacked on #2170 and #2169. Please review this commit after those. The earlier commits are the planning and file-level reader PRs. - `DeletedRowsScanTask` now emits the rows removed by delete files added in the changelog range. - Deletes that already applied stay on the normal scan path, so those rows are not emitted again. A file position is recorded before that filter so position deletes and deletion vectors can still identify the removed rows. - Added deletion vectors supersede added position deletes. Equality deletes are included when their columns match. - Added and removed data files are unchanged: same-snapshot deletes are applied while reading the insert, and a removed data file is read with the deletes that already applied. This does not turn on remote planning. That stays unsupported. ## Test plan - [x] Position deletes, including a later snapshot that must not repeat an earlier delete - [x] Deletion vectors on a v3 merge-on-read table - [x] Equality deletes - [x] Same-snapshot position delete is applied to the insert and does not also emit a delete row - [x] Row filter, and a column added after the data was written - [x] `go test ./table -count=1 -run 'TestChangelogRead|TestIncrementalChangelog|TestEqualityDeleteReadRoundTrip|TestRowDeltaIntegrationPosDeleteRoundTrip'` - [x] `golangci-lint run --new-from-rev=feat/changelog-read-file-changes ./table/` Made with [Cursor](https://cursor.com) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
