From 5686f65063c1b9a75d1fd1a36c1c0a74209bc057 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Mon, 28 Jan 2013 07:05:31 -0800 Subject: [PATCH] Add a new helper function. --- src/cpp/database/SqliteDatabase.cpp | 7 ++++++- src/cpp/database/SqliteDatabase.h | 5 ++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/cpp/database/SqliteDatabase.cpp b/src/cpp/database/SqliteDatabase.cpp index c1167606af..addf399b68 100644 --- a/src/cpp/database/SqliteDatabase.cpp +++ b/src/cpp/database/SqliteDatabase.cpp @@ -266,6 +266,11 @@ int SqliteStatement::bindStatic(int position, const void *data, int length) return sqlite3_bind_blob(statement, position, data, length, SQLITE_STATIC); } +int SqliteStatement::bindStatic(int position, const std::vector& value) +{ + return sqlite3_bind_blob(statement, position, &value.front(), value.size(), SQLITE_STATIC); +} + int SqliteStatement::bind(int position, uint32 value) { return sqlite3_bind_int64(statement, position, static_cast(value)); @@ -278,7 +283,7 @@ int SqliteStatement::bind(int position, const std::string& value) int SqliteStatement::bindStatic(int position, const std::string& value) { - return sqlite3_bind_text(statement, position, value.data(), value.size(), SQLITE_TRANSIENT); + return sqlite3_bind_text(statement, position, value.data(), value.size(), SQLITE_STATIC); } int SqliteStatement::bind(int position) diff --git a/src/cpp/database/SqliteDatabase.h b/src/cpp/database/SqliteDatabase.h index 09ffc25c52..ad0c0eab66 100644 --- a/src/cpp/database/SqliteDatabase.h +++ b/src/cpp/database/SqliteDatabase.h @@ -75,13 +75,12 @@ public: int bind(int position, const void *data, int length); int bindStatic(int position, const void *data, int length); - - int bind(int position, uint32 value); + int bindStatic(int position, const std::vector& value); int bind(int position, const std::string& value); - int bindStatic(int position, const std::string& value); + int bind(int position, uint32 value); int bind(int position); int size(int column);