fix: restore database delete skip for already deleted relations - #24748
Merged
XuPeng-SH merged 1 commit intoJun 1, 2026
Merged
Conversation
Review Summary by QodoRestore database delete skip for already deleted relations
WalkthroughsDescription• Restore database delete skip for already deleted relations • Add accountId field to txnDatabase struct • Filter out relations already deleted in transaction • Add comprehensive unit tests for relation deletion logic Diagramflowchart LR
A["Engine.Delete database"] --> B["Get all relations"]
B --> C["Filter already deleted relations"]
C --> D["Delete remaining relations"]
D --> E["Update transaction cache"]
F["txnDatabase with accountId"] -.-> C
G["tableOps.existAndDeleted check"] -.-> C
File Changes1. pkg/vm/engine/disttae/engine.go
|
Code Review by Qodo
1. Noisy skip-table logging
|
Closed
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This reverts commit 0bfda60.
What type of PR is this?
Which issue(s) this PR fixes:
issue #24711
What this PR does / why we need it:
Restore the main fix from #24717 after #24725 reverted it.
The original fix is still needed for restore-account database delete: when a relation was already deleted in the current transaction,
Engine.Delete(database)should skip that relation only whentableOps.existAndDeletedproves it was deleted, while preserving other errors.Tested with: