diff --git a/src/cpp/database/SqliteDatabase.cpp b/src/cpp/database/SqliteDatabase.cpp index c1167606a..addf399b6 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 09ffc25c5..ad0c0eab6 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);