aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/sqlite/Util.hxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/sqlite/Util.hxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/sqlite/Util.hxx b/src/lib/sqlite/Util.hxx
index abc35835b..da74d1c3c 100644
--- a/src/lib/sqlite/Util.hxx
+++ b/src/lib/sqlite/Util.hxx
@@ -81,6 +81,19 @@ BindAll(Error &error, sqlite3_stmt *stmt, Args&&... args)
}
/**
+ * Wrapper for BindAll() that returns the specified sqlite3_stmt* on
+ * success and nullptr on error.
+ */
+template<typename... Args>
+static sqlite3_stmt *
+BindAllOrNull(Error &error, sqlite3_stmt *stmt, Args&&... args)
+{
+ return BindAll(error, stmt, std::forward<Args>(args)...)
+ ? stmt
+ : nullptr;
+}
+
+/**
* Call sqlite3_stmt() repepatedly until something other than
* SQLITE_BUSY is returned.
*/