modernize: Replace most remaining old-style connects by PMF ones
[quassel.git] / src / core / postgresqlstorage.cpp
index cd6d7bf..391e2ac 100644 (file)
 
 #include <QtSql>
 
-#include "logger.h"
+#include "logmessage.h"
 #include "network.h"
 #include "quassel.h"
 
 PostgreSqlStorage::PostgreSqlStorage(QObject *parent)
-    : AbstractSqlStorage(parent),
-    _port(-1)
-{
-}
-
-
-PostgreSqlStorage::~PostgreSqlStorage()
+    : AbstractSqlStorage(parent)
 {
 }
 
@@ -500,7 +494,7 @@ IdentityId PostgreSqlStorage::createIdentity(UserId user, CoreIdentity &identity
     safeExec(query);
     if (!watchQuery(query)) {
         db.rollback();
-        return IdentityId();
+        return {};
     }
 
     query.first();
@@ -509,7 +503,7 @@ IdentityId PostgreSqlStorage::createIdentity(UserId user, CoreIdentity &identity
 
     if (!identityId.isValid()) {
         db.rollback();
-        return IdentityId();
+        return {};
     }
 
     QSqlQuery insertNickQuery(db);
@@ -520,14 +514,14 @@ IdentityId PostgreSqlStorage::createIdentity(UserId user, CoreIdentity &identity
         safeExec(insertNickQuery);
         if (!watchQuery(insertNickQuery)) {
             db.rollback();
-            return IdentityId();
+            return {};
         }
     }
 
     if (!db.commit()) {
         qWarning() << "PostgreSqlStorage::createIdentity(): committing data failed!";
         qWarning() << " -" << qPrintable(db.lastError().text());
-        return IdentityId();
+        return {};
     }
     return identityId;
 }
@@ -721,7 +715,7 @@ NetworkId PostgreSqlStorage::createNetwork(UserId user, const NetworkInfo &info)
     safeExec(query);
     if (!watchQuery(query)) {
         db.rollback();
-        return NetworkId();
+        return {};
     }
 
     query.first();
@@ -729,7 +723,7 @@ NetworkId PostgreSqlStorage::createNetwork(UserId user, const NetworkInfo &info)
 
     if (!networkId.isValid()) {
         db.rollback();
-        return NetworkId();
+        return {};
     }
 
     QSqlQuery insertServersQuery(db);
@@ -741,14 +735,14 @@ NetworkId PostgreSqlStorage::createNetwork(UserId user, const NetworkInfo &info)
         safeExec(insertServersQuery);
         if (!watchQuery(insertServersQuery)) {
             db.rollback();
-            return NetworkId();
+            return {};
         }
     }
 
     if (!db.commit()) {
         qWarning() << "PostgreSqlStorage::createNetwork(): committing data failed!";
         qWarning() << " -" << qPrintable(db.lastError().text());
-        return NetworkId();
+        return {};
     }
     return networkId;
 }
@@ -1114,7 +1108,7 @@ BufferInfo PostgreSqlStorage::bufferInfo(UserId user, const NetworkId &networkId
     if (!beginTransaction(db)) {
         qWarning() << "PostgreSqlStorage::bufferInfo(): cannot start read only transaction!";
         qWarning() << " -" << qPrintable(db.lastError().text());
-        return BufferInfo();
+        return {};
     }
 
     QSqlQuery query(db);
@@ -1142,7 +1136,7 @@ BufferInfo PostgreSqlStorage::bufferInfo(UserId user, const NetworkId &networkId
 
     if (!create) {
         db.rollback();
-        return BufferInfo();
+        return {};
     }
 
     QSqlQuery createQuery(db);
@@ -1178,10 +1172,10 @@ BufferInfo PostgreSqlStorage::getBufferInfo(UserId user, const BufferId &bufferI
     query.bindValue(":bufferid", bufferId.toInt());
     safeExec(query);
     if (!watchQuery(query))
-        return BufferInfo();
+        return {};
 
     if (!query.first())
-        return BufferInfo();
+        return {};
 
     BufferInfo bufferInfo(query.value(0).toInt(), query.value(1).toInt(), (BufferInfo::Type)query.value(2).toInt(), 0, query.value(4).toString());
     Q_ASSERT(!query.next());
@@ -1496,7 +1490,7 @@ Message::Types PostgreSqlStorage::bufferActivity(BufferId bufferId, MsgId lastSe
     query.bindValue(":lastseenmsgid", lastSeenMsgId.toQint64());
     safeExec(query);
     watchQuery(query);
-    Message::Types result = Message::Types(0);
+    Message::Types result = Message::Types(nullptr);
     if (query.first())
         result = Message::Types(query.value(0).toInt());
     return result;
@@ -1589,7 +1583,7 @@ int PostgreSqlStorage::highlightCount(BufferId bufferId, MsgId lastSeenMsgId)
     query.bindValue(":lastseenmsgid", lastSeenMsgId.toQint64());
     safeExec(query);
     watchQuery(query);
-    int result = int(0);
+    auto result = int(0);
     if (query.first())
         result = query.value(0).toInt();
     return result;
@@ -1634,6 +1628,8 @@ bool PostgreSqlStorage::logMessage(Message &msg)
     }
 
     QVariantList params;
+    // PostgreSQL handles QDateTime()'s serialized format by default, and QDateTime() serializes
+    // to a 64-bit time compatible format by default.
     params << msg.timestamp()
            << msg.bufferInfo().bufferId().toInt()
            << msg.type()
@@ -1718,6 +1714,8 @@ bool PostgreSqlStorage::logMessages(MessageList &msgs)
     for (int i = 0; i < msgs.count(); i++) {
         Message &msg = msgs[i];
         QVariantList params;
+        // PostgreSQL handles QDateTime()'s serialized format by default, and QDateTime() serializes
+        // to a 64-bit time compatible format by default.
         params << msg.timestamp()
                << msg.bufferInfo().bufferId().toInt()
                << msg.type()
@@ -1797,6 +1795,8 @@ QList<Message> PostgreSqlStorage::requestMsgs(UserId user, BufferId bufferId, Ms
 
     QDateTime timestamp;
     while (query.next()) {
+        // PostgreSQL returns date/time in ISO 8601 format, no 64-bit handling needed
+        // See https://www.postgresql.org/docs/current/static/datatype-datetime.html#DATATYPE-DATETIME-OUTPUT
         timestamp = query.value(1).toDateTime();
         timestamp.setTimeSpec(Qt::UTC);
         Message msg(timestamp,
@@ -1861,6 +1861,8 @@ QList<Message> PostgreSqlStorage::requestMsgsFiltered(UserId user, BufferId buff
 
     QDateTime timestamp;
     while (query.next()) {
+        // PostgreSQL returns date/time in ISO 8601 format, no 64-bit handling needed
+        // See https://www.postgresql.org/docs/current/static/datatype-datetime.html#DATATYPE-DATETIME-OUTPUT
         timestamp = query.value(1).toDateTime();
         timestamp.setTimeSpec(Qt::UTC);
         Message msg(timestamp,
@@ -1916,6 +1918,8 @@ QList<Message> PostgreSqlStorage::requestAllMsgs(UserId user, MsgId first, MsgId
 
     QDateTime timestamp;
     for (int i = 0; i < limit && query.next(); i++) {
+        // PostgreSQL returns date/time in ISO 8601 format, no 64-bit handling needed
+        // See https://www.postgresql.org/docs/current/static/datatype-datetime.html#DATATYPE-DATETIME-OUTPUT
         timestamp = query.value(2).toDateTime();
         timestamp.setTimeSpec(Qt::UTC);
         Message msg(timestamp,
@@ -1978,6 +1982,8 @@ QList<Message> PostgreSqlStorage::requestAllMsgsFiltered(UserId user, MsgId firs
 
     QDateTime timestamp;
     for (int i = 0; i < limit && query.next(); i++) {
+        // PostgreSQL returns date/time in ISO 8601 format, no 64-bit handling needed
+        // See https://www.postgresql.org/docs/current/static/datatype-datetime.html#DATATYPE-DATETIME-OUTPUT
         timestamp = query.value(2).toDateTime();
         timestamp.setTimeSpec(Qt::UTC);
         Message msg(timestamp,
@@ -2012,21 +2018,6 @@ QMap<UserId, QString> PostgreSqlStorage::getAllAuthUserNames()
 }
 
 
-QString PostgreSqlStorage::getAuthUserName(UserId user)
-{
-    QString authusername;
-    QSqlQuery query(logDb());
-    query.prepare(queryString("select_authusername"));
-    query.bindValue(":userid", user.toInt());
-    safeExec(query);
-    watchQuery(query);
-
-    if (query.first()) {
-         authusername = query.value(0).toString();
-    }
-    return authusername;
-}
-
 // void PostgreSqlStorage::safeExec(QSqlQuery &query) {
 //   qDebug() << "PostgreSqlStorage::safeExec";
 //   qDebug() << "   executing:\n" << query.executedQuery();