QSqlQuery addSenderQuery(db);
addSenderQuery.prepare(queryString("insert_sender"));
addSenderQuery.bindValue(":sender", msg.sender());
+ addSenderQuery.bindValue(":realname", msg.realName());
+ addSenderQuery.bindValue(":avatarurl", msg.avatarUrl());
safeExec(addSenderQuery);
safeExec(logMessageQuery);
error = !watchQuery(logMessageQuery);
db.transaction();
{
- QSet<QString> senders;
+ QSet<SenderData> senders;
QSqlQuery addSenderQuery(db);
addSenderQuery.prepare(queryString("insert_sender"));
lockForWrite();
for (int i = 0; i < msgs.count(); i++) {
- const QString &sender = msgs.at(i).sender();
+ auto &msg = msgs.at(i);
+ SenderData sender = { msg.sender(), msg.realName(), msg.avatarUrl() };
if (senders.contains(sender))
continue;
senders << sender;
- addSenderQuery.bindValue(":sender", sender);
+ addSenderQuery.bindValue(":sender", sender.sender);
+ addSenderQuery.bindValue(":realname", sender.realname);
+ addSenderQuery.bindValue(":avatarurl", sender.avatarurl);
safeExec(addSenderQuery);
}
}
Message msg(QDateTime::fromTime_t(query.value(1).toInt()),
bufferInfo,
(Message::Type)query.value(2).toUInt(),
- query.value(6).toString(),
+ query.value(8).toString(),
query.value(4).toString(),
query.value(5).toString(),
+ query.value(6).toString(),
+ query.value(7).toString(),
(Message::Flags)query.value(3).toUInt());
msg.setMsgId(query.value(0).toInt());
messagelist << msg;
Message msg(QDateTime::fromTime_t(query.value(2).toInt()),
bufferInfoHash[query.value(1).toInt()],
(Message::Type)query.value(3).toUInt(),
- query.value(7).toString(),
+ query.value(9).toString(),
query.value(5).toString(),
query.value(6).toString(),
+ query.value(7).toString(),
+ query.value(8).toString(),
(Message::Flags)query.value(4).toUInt());
msg.setMsgId(query.value(0).toInt());
messagelist << msg;
sender.senderId = value(0).toInt();
sender.sender = value(1).toString();
+ sender.realname = value(2).toString();
+ sender.avatarurl = value(3).toString();
return true;
}