Set the PostgreSQL session timezone to 'UTC'
[quassel.git] / src / core / postgresqlstorage.cpp
index 7c20a05..68cf254 100644 (file)
@@ -136,6 +136,14 @@ bool PostgreSqlStorage::initDbSession(QSqlDatabase &db)
         return false;
         break;
     }
         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;
 }
 
     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.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;
     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.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;
     safeExec(query);
     watchQuery(query);
     return query.numRowsAffected() != 0;