X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.cpp;h=e7a71e7bc6ccaf1783f2b7c02a444badfeebc665;hp=7c20a05bdcc4b7cf668351a6cf8b3e4c39961573;hb=56d25331d61b4b24a2805f1cf16e68f722fdaf73;hpb=5924533c6d0f9777d38c01ed7e1510a55db2b876 diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index 7c20a05b..e7a71e7b 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -136,6 +136,14 @@ bool PostgreSqlStorage::initDbSession(QSqlDatabase &db) return false; break; } + + // Set the PostgreSQL session timezone to UTC, since we want timestamps stored in UTC + QSqlQuery tzQuery = db.exec("SET timezone = 'UTC'"); + if (tzQuery.lastError().isValid()) { + quError() << "Failed to set timezone to UTC!"; + return false; + } + return true; } @@ -208,7 +216,7 @@ UserId PostgreSqlStorage::addUser(const QString &user, const QString &password) query.prepare(queryString("insert_quasseluser")); query.bindValue(":username", user); query.bindValue(":password", hashPassword(password)); - query.bindValue(":hashversion", Storage::HashVersion::latest); + query.bindValue(":hashversion", Storage::HashVersion::Latest); safeExec(query); if (!watchQuery(query)) return 0; @@ -226,7 +234,7 @@ bool PostgreSqlStorage::updateUser(UserId user, const QString &password) query.prepare(queryString("update_userpassword")); query.bindValue(":userid", user.toInt()); query.bindValue(":password", hashPassword(password)); - query.bindValue(":hashversion", Storage::HashVersion::latest); + query.bindValue(":hashversion", Storage::HashVersion::Latest); safeExec(query); watchQuery(query); return query.numRowsAffected() != 0; @@ -1373,8 +1381,7 @@ bool PostgreSqlStorage::logMessage(Message &msg) if (addSenderQuery.lastError().isValid()) { rollbackSavePoint("sender_sp1", db); - getSenderIdQuery.prepare(getSenderIdQuery.lastQuery()); - safeExec(getSenderIdQuery); + getSenderIdQuery = executePreparedQuery("select_senderid", msg.sender(), db); watchQuery(getSenderIdQuery); getSenderIdQuery.first(); senderId = getSenderIdQuery.value(0).toInt(); @@ -1444,8 +1451,7 @@ bool PostgreSqlStorage::logMessages(MessageList &msgs) if (addSenderQuery.lastError().isValid()) { // seems it was inserted meanwhile... by a different thread rollbackSavePoint("sender_sp", db); - selectSenderQuery.prepare(selectSenderQuery.lastQuery()); - safeExec(selectSenderQuery); + selectSenderQuery = executePreparedQuery("select_senderid", sender, db); watchQuery(selectSenderQuery); selectSenderQuery.first(); senderIdList << selectSenderQuery.value(0).toInt();