sticker/Database: move code to BindFind()

This commit is contained in:
Max Kellermann
2014-12-12 22:04:43 +01:00
parent 204a1de3fd
commit 71ece56470
2 changed files with 29 additions and 8 deletions

View File

@@ -80,6 +80,19 @@ BindAll(Error &error, sqlite3_stmt *stmt, Args&&... args)
return BindAll2(error, stmt, 1, std::forward<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.