aboutsummaryrefslogtreecommitdiff
path: root/nix/libstore/local-store.hh
diff options
context:
space:
mode:
Diffstat (limited to 'nix/libstore/local-store.hh')
-rw-r--r--nix/libstore/local-store.hh42
1 files changed, 6 insertions, 36 deletions
diff --git a/nix/libstore/local-store.hh b/nix/libstore/local-store.hh
index 819f59327a..6110468498 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:
@@ -238,6 +207,7 @@ private:
SQLiteStmt stmtQueryValidDerivers;
SQLiteStmt stmtQueryDerivationOutputs;
SQLiteStmt stmtQueryPathFromHashPart;
+ SQLiteStmt stmtQueryValidPaths;
/* Cache for pathContentsGood(). */
std::map<Path, bool> pathContentsGoodCache;
@@ -254,11 +224,11 @@ private:
void makeStoreWritable();
- unsigned long long queryValidPathId(const Path & path);
+ uint64_t queryValidPathId(const Path & path);
- unsigned long long addValidPath(const ValidPathInfo & info, bool checkOutputs = true);
+ uint64_t addValidPath(const ValidPathInfo & info, bool checkOutputs = true);
- void addReference(unsigned long long referrer, unsigned long long reference);
+ void addReference(uint64_t referrer, uint64_t reference);
void appendReferrer(const Path & from, const Path & to, bool lock);