37545de4a3
update-or-insert can break if an insert occurs between when it decides whether to update or insert and when it actually performs that operation. Putting the check and the update/insert operation in the same transaction ensures that the update/insert will only succeed if no other write has occurred in the middle. * guix/store/database.scm (call-with-savepoint): new procedure. (update-or-insert): use call-with-savepoint to ensure the read and the insert/update occur within the same transaction. |
||
---|---|---|
.. | ||
database.scm | ||
deduplication.scm | ||
roots.scm | ||
schema.sql | ||
ssh.scm |