diff options
author | Caleb Ristvedt <caleb.ristvedt@cune.org> | 2020-06-01 18:50:07 -0500 |
---|---|---|
committer | Caleb Ristvedt <caleb.ristvedt@cune.org> | 2020-06-10 21:54:32 -0500 |
commit | 3cd92a855e8f6768a4470cd5522749a39d5f9047 (patch) | |
tree | 24caf12903f71b4d32ac6d110a00cff25ccd90d8 /bootstrap | |
parent | a4620c019b8d5e9b24f3ea8470cd20b9a0bebb70 (diff) | |
download | guix-3cd92a855e8f6768a4470cd5522749a39d5f9047.tar guix-3cd92a855e8f6768a4470cd5522749a39d5f9047.tar.gz |
database: work around guile-sqlite3 bug preventing statement reset
guile-sqlite3 provides statement caching, making it unnecessary for sqlite to
keep re-preparing statements that are frequently used. Unfortunately it
doesn't quite emulate the semantics of sqlite_finalize properly, because it
doesn't cause a commit if the statement being finalized is the last "active"
statement (see https://notabug.org/guile-sqlite3/guile-sqlite3/issues/12). We
work around this by wrapping sqlite-finalize with our own version that ensures
sqlite-reset is called, which does The Right Thing™.
* guix/store/database.scm (sqlite-finalize): new procedure that shadows the
sqlite-finalize from (sqlite3).
Diffstat (limited to 'bootstrap')
0 files changed, 0 insertions, 0 deletions