aboutsummaryrefslogtreecommitdiffstats
path: root/src/base/database.cpp
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2010-01-10 21:43:49 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2013-01-05 17:17:43 +0100
commit5f504f2e89e95e70d9551ae9c99009d93af157f5 (patch)
treed293de435f11541d1470d4e36067b00854e4e0e7 /src/base/database.cpp
parent3f299a554ad9a7eea21f603027b3b3796aa883b0 (diff)
downloadusdx-5f504f2e89e95e70d9551ae9c99009d93af157f5.tar.gz
usdx-5f504f2e89e95e70d9551ae9c99009d93af157f5.tar.xz
usdx-5f504f2e89e95e70d9551ae9c99009d93af157f5.zip
added sqlite3_prepare_v2 wrapper with propper logging
Diffstat (limited to 'src/base/database.cpp')
-rw-r--r--src/base/database.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/base/database.cpp b/src/base/database.cpp
index 36971bd4..3d1580e2 100644
--- a/src/base/database.cpp
+++ b/src/base/database.cpp
@@ -62,6 +62,19 @@ namespace usdx
return instance;
}
+ sqlite3_stmt *StatDatabase::sqlite_prepare(const std::string sqlStatement)
+ {
+ sqlite3_stmt *sqliteStatement;
+ if (SQLITE_OK != sqlite3_prepare_v2(database, sqlStatement.c_str(), sqlStatement.length(), &sqliteStatement, NULL)) {
+ sqlite3_finalize(sqliteStatement);
+
+ LOG4CXX_ERROR(log, "Error '" << sqlite3_errmsg(database) << "' in SQL '" << sqlStatement << "'");
+ throw "Error preparing statement.";
+ }
+
+ return sqliteStatement;
+ }
+
void StatDatabase::init(const std::string filename)
{
LOG4CXX_DEBUG(log, "Initializing Database: " << filename);
@@ -167,16 +180,8 @@ namespace usdx
int StatDatabase::get_version(void)
{
- char sqlStatement[] = "PRAGMA user_version;";
- sqlite3_stmt *sqliteStatement;
int result = -1;
-
- if (SQLITE_OK != sqlite3_prepare_v2(database, sqlStatement, strlen(sqlStatement), &sqliteStatement, NULL)) {
- sqlite3_finalize(sqliteStatement);
-
- LOG4CXX_ERROR(log, "Error '" << sqlite3_errmsg(database) << "' in SQL '" << sqlStatement << "'");
- throw "Error preparing statement.";
- }
+ sqlite3_stmt *sqliteStatement = sqlite_prepare("PRAGMA user_version;");
int rc = sqlite3_step(sqliteStatement);
if (rc == SQLITE_DONE || rc == SQLITE_ROW) {
@@ -395,18 +400,13 @@ namespace usdx
*/
time_t StatDatabase::get_stat_reset(void)
{
- std::string sqlStatement = "SELECT [ResetTime] FROM [";
- sqlStatement += usdx_statistics_info + std::string("];");
-
- sqlite3_stmt *sqliteStatement;
int result = -1;
- if (SQLITE_OK != sqlite3_prepare_v2(database, sqlStatement.c_str(), sqlStatement.length(), &sqliteStatement, NULL)) {
- sqlite3_finalize(sqliteStatement);
+ std::string sqlStatement = "SELECT [ResetTime] FROM [";
+ sqlStatement += usdx_statistics_info;
+ sqlStatement += "];";
- LOG4CXX_ERROR(log, "Error '" << sqlite3_errmsg(database) << "' in SQL '" << sqlStatement << "'");
- throw "Error preparing statement.";
- }
+ sqlite3_stmt *sqliteStatement = sqlite_prepare(sqlStatement);
int rc = sqlite3_step(sqliteStatement);
if (rc == SQLITE_DONE || rc == SQLITE_ROW) {