close #360 fix db warnings upon source deletion #581
Merged
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.
Fixes database warnings about double deletion
Description
warnings were caused by double deletion of messages
The bug was in
update_local_storage()
in the filesecuredrop_client/storage.py
. Bellow is a copy of the buggy version.When a source was deleted all of the files, messages and replies were deleted from the db as well since they are deleted in cascade with the source according to
securedrop_client/db.py
.But because
local_{sources,files,messages,replies}
are all fetched at once before the execution of theupdate_*
functions they would try to delete lines in the table that were already deleted, thus the warningSAWarning: DELETE statement on table ....
Fixes #360 and possibly #545
Test Plan
SAWarning: DELETE statement on table ...
warningsChecklist
If these changes modify code paths involving cryptography, the opening of files in VMs or network (via the RPC service) traffic, Qubes testing in the staging environment is required. For fine tuning of the graphical user interface, testing in any environment in Qubes is required. Please check as applicable:
Comments
If you can make the explanation comment on the code more concise, feel free to change it.