diff --git a/src/sqlite3backend.cpp b/src/sqlite3backend.cpp index ad03bf23225f83d0d7c07942850ac623af1964dd..c61ca628df1f04b0faf28991c54cddc5284fe781 100644 --- a/src/sqlite3backend.cpp +++ b/src/sqlite3backend.cpp @@ -111,6 +111,8 @@ bool SQLite3Backend::connect() { return false; } + sqlite3_busy_timeout(m_db, 1500); + if (createDatabase() == false) return false; @@ -234,6 +236,8 @@ bool SQLite3Backend::getUser(const std::string &barejid, UserInfo &user) { user.encoding = (const char *) sqlite3_column_text(m_getUser, 4); user.language = (const char *) sqlite3_column_text(m_getUser, 5); user.vip = sqlite3_column_int(m_getUser, 6) != 0; + while((ret = sqlite3_step(m_getUser)) == SQLITE_ROW) { + } return true; } @@ -388,6 +392,9 @@ bool SQLite3Backend::getBuddies(long id, std::list &roster) { roster.push_back(b); } + while((ret = sqlite3_step(m_getBuddiesSettings)) == SQLITE_ROW) { + } + if (ret != SQLITE_DONE) { LOG4CXX_ERROR(logger, "getBuddies query"<< (sqlite3_errmsg(m_db) == NULL ? "" : sqlite3_errmsg(m_db))); return false; @@ -444,6 +451,10 @@ void SQLite3Backend::getUserSetting(long id, const std::string &variable, int &t type = GET_INT(m_getUserSetting); value = GET_STR(m_getUserSetting); } + + int ret; + while((ret = sqlite3_step(m_getUserSetting)) == SQLITE_ROW) { + } } void SQLite3Backend::updateUserSetting(long id, const std::string &variable, const std::string &value) {