making use of postgres timestamps
authorMarcus Eggenberger <egs@quassel-irc.org>
Sun, 22 Feb 2009 16:50:38 +0000 (17:50 +0100)
committerMarcus Eggenberger <egs@quassel-irc.org>
Tue, 3 Mar 2009 19:57:04 +0000 (20:57 +0100)
src/core/SQL/PostgreSQL/14/setup_060_backlog.sql
src/core/coresession.cpp
src/core/postgresqlstorage.cpp

index 1f281b0..0523fcd 100644 (file)
@@ -1,6 +1,6 @@
 CREATE TABLE backlog (
        messageid serial PRIMARY KEY,
 CREATE TABLE backlog (
        messageid serial PRIMARY KEY,
-       time integer NOT NULL,
+       time timestamp NOT NULL,
        bufferid integer NOT NULL REFERENCES buffer (bufferid) ON DELETE CASCADE,
        type integer NOT NULL,
        flags integer NOT NULL,
        bufferid integer NOT NULL REFERENCES buffer (bufferid) ON DELETE CASCADE,
        type integer NOT NULL,
        flags integer NOT NULL,
index 38d96ac..32429a3 100644 (file)
@@ -251,7 +251,6 @@ void CoreSession::processMessages() {
       }
       messages << Message(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
     }
       }
       messages << Message(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
     }
-
     Core::storeMessages(messages);
     // FIXME: extend protocol to a displayMessages(MessageList)
     for(int i = 0; i < messages.count(); i++) {
     Core::storeMessages(messages);
     // FIXME: extend protocol to a displayMessages(MessageList)
     for(int i = 0; i < messages.count(); i++) {
index 96805ba..f097808 100644 (file)
@@ -276,7 +276,7 @@ IdentityId PostgreSqlStorage::createIdentity(UserId user, CoreIdentity &identity
     return IdentityId();
   }
 
     return IdentityId();
   }
 
-  qDebug() << "creatId" << query.first() << query.value(0).toInt();
+  query.first();
   identityId = query.value(0).toInt();
   identity.setId(identityId);
 
   identityId = query.value(0).toInt();
   identity.setId(identityId);
 
@@ -488,7 +488,7 @@ NetworkId PostgreSqlStorage::createNetwork(UserId user, const NetworkInfo &info)
     return NetworkId();
   }
 
     return NetworkId();
   }
 
-  qDebug() << "createNet:" << query.first() << query.value(0).toInt();
+  query.first();
   networkId = query.value(0).toInt();
 
   if(!networkId.isValid()) {
   networkId = query.value(0).toInt();
 
   if(!networkId.isValid()) {
@@ -1120,7 +1120,7 @@ bool PostgreSqlStorage::logMessage(Message &msg) {
   }
 
   QVariantList params;
   }
 
   QVariantList params;
-  params << msg.timestamp().toTime_t()
+  params << msg.timestamp()
         << msg.bufferInfo().bufferId().toInt()
         << msg.type()
         << (int)msg.flags()
         << msg.bufferInfo().bufferId().toInt()
         << msg.type()
         << (int)msg.flags()
@@ -1204,7 +1204,7 @@ bool PostgreSqlStorage::logMessages(MessageList &msgs) {
   for(int i = 0; i < msgs.count(); i++) {
     Message &msg = msgs[i];
     QVariantList params;
   for(int i = 0; i < msgs.count(); i++) {
     Message &msg = msgs[i];
     QVariantList params;
-    params << msg.timestamp().toTime_t()
+    params << msg.timestamp()
           << msg.bufferInfo().bufferId().toInt()
           << msg.type()
           << (int)msg.flags()
           << msg.bufferInfo().bufferId().toInt()
           << msg.type()
           << (int)msg.flags()
@@ -1267,8 +1267,11 @@ QList<Message> PostgreSqlStorage::requestMsgs(UserId user, BufferId bufferId, Ms
     return messagelist;
   }
 
     return messagelist;
   }
 
+  QDateTime timestamp;
   for(int i = 0; i < limit && query.next(); i++) {
   for(int i = 0; i < limit && query.next(); i++) {
-    Message msg(QDateTime::fromTime_t(query.value(1).toInt()),
+    timestamp = query.value(1).toDateTime();
+    timestamp.setTimeSpec(Qt::UTC);
+    Message msg(timestamp,
                 bufferInfo,
                 (Message::Type)query.value(2).toUInt(),
                 query.value(5).toString(),
                 bufferInfo,
                 (Message::Type)query.value(2).toUInt(),
                 query.value(5).toString(),
@@ -1313,8 +1316,11 @@ QList<Message> PostgreSqlStorage::requestAllMsgs(UserId user, MsgId first, MsgId
     return messagelist;
   }
 
     return messagelist;
   }
 
+  QDateTime timestamp;
   for(int i = 0; i < limit && query.next(); i++) {
   for(int i = 0; i < limit && query.next(); i++) {
-    Message msg(QDateTime::fromTime_t(query.value(2).toInt()),
+    timestamp = query.value(1).toDateTime();
+    timestamp.setTimeSpec(Qt::UTC);
+    Message msg(timestamp,
                 bufferInfoHash[query.value(1).toInt()],
                 (Message::Type)query.value(3).toUInt(),
                 query.value(6).toString(),
                 bufferInfoHash[query.value(1).toInt()],
                 (Message::Type)query.value(3).toUInt(),
                 query.value(6).toString(),