about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-05T13·29+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-05T13·29+0200
commit80da7a637559aadb6544599adc9f5807188cb9e5 (patch)
tree3b3a493d5baf0a684be200607a99ece619b14e32
parent37a337bceca1c4730753ec5765a9eacb9f8a9962 (diff)
Probably fix SQLITE_BUSY errors
-rw-r--r--src/libstore/sqlite.cc5
-rw-r--r--src/libstore/sqlite.hh2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/libstore/sqlite.cc b/src/libstore/sqlite.cc
index 77fbedd119c7..f93fa0857588 100644
--- a/src/libstore/sqlite.cc
+++ b/src/libstore/sqlite.cc
@@ -73,6 +73,11 @@ SQLiteStmt::Use::Use(SQLiteStmt & stmt)
     sqlite3_reset(stmt);
 }
 
+SQLiteStmt::Use::~Use()
+{
+    sqlite3_reset(stmt);
+}
+
 SQLiteStmt::Use & SQLiteStmt::Use::operator () (const std::string & value, bool notNull)
 {
     if (notNull) {
diff --git a/src/libstore/sqlite.hh b/src/libstore/sqlite.hh
index b953978417aa..326e4a4855b7 100644
--- a/src/libstore/sqlite.hh
+++ b/src/libstore/sqlite.hh
@@ -40,6 +40,8 @@ struct SQLiteStmt
 
     public:
 
+        ~Use();
+
         /* Bind the next parameter. */
         Use & operator () (const std::string & value, bool notNull = true);
         Use & operator () (int64_t value, bool notNull = true);