aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/sqlite.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/sqlite.hh')
-rw-r--r--src/libstore/sqlite.hh14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/libstore/sqlite.hh b/src/libstore/sqlite.hh
index 72ec302e1..3a4ad8633 100644
--- a/src/libstore/sqlite.hh
+++ b/src/libstore/sqlite.hh
@@ -102,11 +102,21 @@ struct SQLiteError : Error
int errNo, extendedErrNo;
template<typename... Args>
- [[noreturn]] static void throw_(sqlite3 * db, const std::string & fs, const Args & ... args);
+ [[noreturn]] static void throw_(sqlite3 * db, const std::string & fs, const Args & ... args) {
+ throw_(db, hintfmt(fs, args...));
+ }
protected:
+
+ SQLiteError(const char *path, int errNo, int extendedErrNo, hintformat && hf);
+
template<typename... Args>
- SQLiteError(const char *path, int errNo, int extendedErrNo, const Args & ... args);
+ SQLiteError(const char *path, int errNo, int extendedErrNo, const std::string & fs, const Args & ... args)
+ : SQLiteError(path, errNo, extendedErrNo, hintfmt(fs, args...))
+ { }
+
+ [[noreturn]] static void throw_(sqlite3 * db, hintformat && hf);
+
};
MakeError(SQLiteBusy, SQLiteError);