Skip to content

WALReplay Fix: In UpdateColumn, no longer assume all updates are part of the same vector, but instead verify this and batch updates per vector#18999

Merged
Mytherin merged 3 commits into
duckdb:v1.4-andiumfrom
Mytherin:walupdaterowids
Sep 15, 2025
Merged

Conversation

@Mytherin
Copy link
Copy Markdown
Collaborator

Since #18829, it is easier for row groups to be less strictly aligned, and also for the same series of appends to not necessarily create the exact same row group layout.

The current implementation for update replay in the WAL requires row ids to be perfectly stable: it assumes that it can figure out based on the first row-id in the vector the vector that the rest of the updates belong to. This PR reworks the UpdateColumn method to instead figure out the correct vector that each of the row-ids in the update belongs to prior to performing the update. As a result, this code is robust to differences in row group layouts and the row-ids are no longer required to all be part of the same vector.

@Mytherin Mytherin merged commit d232ee0 into duckdb:v1.4-andium Sep 15, 2025
52 checks passed
github-actions Bot pushed a commit to duckdb/duckdb-r that referenced this pull request Sep 15, 2025
WALReplay Fix: In UpdateColumn, no longer assume all updates are part of the same vector, but instead verify this and batch updates per vector (duckdb/duckdb#18999)
ATTACH IF NOT EXISTS - wait until database is fully attached before returning (duckdb/duckdb#18993)
github-actions Bot added a commit to duckdb/duckdb-r that referenced this pull request Sep 15, 2025
WALReplay Fix: In UpdateColumn, no longer assume all updates are part of the same vector, but instead verify this and batch updates per vector (duckdb/duckdb#18999)
ATTACH IF NOT EXISTS - wait until database is fully attached before returning (duckdb/duckdb#18993)

Co-authored-by: krlmlr <krlmlr@users.noreply.github.com>
@Mytherin Mytherin deleted the walupdaterowids branch December 4, 2025 11:32
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