aboutsummaryrefslogtreecommitdiff
path: root/nix/libstore/local-store.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-03-30 13:27:25 +0200
committerLudovic Courtès <ludo@gnu.org>2016-10-28 22:30:17 +0200
commit7bed5d91dea6ecff565d51a021e6f99718d04f86 (patch)
tree3b6e5266ce3359c4125faa9f77ab786a9891595a /nix/libstore/local-store.hh
parent517ce0c15bdf802b3c378fff48b1e5be4167a4fa (diff)
downloadguix-7bed5d91dea6ecff565d51a021e6f99718d04f86.tar
guix-7bed5d91dea6ecff565d51a021e6f99718d04f86.tar.gz
daemon: Factor out SQLite handling.
* nix/libstore/local-store.cc: Move SQLite code to... * nix/libstore/sqlite.cc, nix/libstore/sqlite.hh: ... here. New files. * nix/local.mk (libstore_a_SOURCES): Add sqlite.cc. (libstore_headers): Add sqlite.hh. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'nix/libstore/local-store.hh')
-rw-r--r--nix/libstore/local-store.hh35
1 files changed, 2 insertions, 33 deletions
diff --git a/nix/libstore/local-store.hh b/nix/libstore/local-store.hh
index 819f59327a..f591589838 100644
--- a/nix/libstore/local-store.hh
+++ b/nix/libstore/local-store.hh
@@ -1,15 +1,12 @@
#pragma once
+#include "sqlite.hh"
#include <string>
#include <unordered_set>
+#include "pathlocks.hh"
#include "store-api.hh"
#include "util.hh"
-#include "pathlocks.hh"
-
-
-class sqlite3;
-class sqlite3_stmt;
namespace nix {
@@ -52,34 +49,6 @@ struct RunningSubstituter
};
-/* Wrapper object to close the SQLite database automatically. */
-struct SQLite
-{
- sqlite3 * db;
- SQLite() { db = 0; }
- ~SQLite();
- operator sqlite3 * () { return db; }
-};
-
-
-/* Wrapper object to create and destroy SQLite prepared statements. */
-struct SQLiteStmt
-{
- sqlite3 * db;
- sqlite3_stmt * stmt;
- unsigned int curArg;
- SQLiteStmt() { stmt = 0; }
- void create(sqlite3 * db, const string & s);
- void reset();
- ~SQLiteStmt();
- operator sqlite3_stmt * () { return stmt; }
- void bind(const string & value);
- void bind(int value);
- void bind64(long long value);
- void bind();
-};
-
-
class LocalStore : public StoreAPI
{
private: