- // we will need those pretty often... so let's speed things up:
- createBufferQuery = new QSqlQuery(logDb);
- createBufferQuery->prepare("INSERT INTO buffer (userid, networkid, buffername) VALUES (:userid, (SELECT networkid FROM network WHERE networkname = :networkname AND userid = :userid2), :buffername)");
-
- createNetworkQuery = new QSqlQuery(logDb);
- createNetworkQuery->prepare("INSERT INTO network (userid, networkname) VALUES (:userid, :networkname)");
-
- getBufferInfoQuery = new QSqlQuery(logDb);
- getBufferInfoQuery->prepare("SELECT bufferid FROM buffer "
- "JOIN network ON buffer.networkid = network.networkid "
- "WHERE network.networkname = :networkname AND network.userid = :userid AND buffer.userid = :userid2 AND lower(buffer.buffername) = lower(:buffername)");
-
- logMessageQuery = new QSqlQuery(logDb);
- logMessageQuery->prepare("INSERT INTO backlog (time, bufferid, type, flags, senderid, message) "
- "VALUES (:time, :bufferid, :type, :flags, (SELECT senderid FROM sender WHERE sender = :sender), :message)");
-
- addSenderQuery = new QSqlQuery(logDb);
- addSenderQuery->prepare("INSERT INTO sender (sender) VALUES (:sender)");
-
- getLastMessageIdQuery = new QSqlQuery(logDb);
- getLastMessageIdQuery->prepare("SELECT messageid FROM backlog "
- "WHERE time = :time AND bufferid = :bufferid AND type = :type AND senderid = (SELECT senderid FROM sender WHERE sender = :sender)");
-
- requestMsgsOffsetQuery = new QSqlQuery(logDb);
- requestMsgsOffsetQuery->prepare("SELECT count(*) FROM backlog WHERE bufferid = :bufferid AND messageid < :messageid");
-
- requestMsgsQuery = new QSqlQuery(logDb);
- requestMsgsQuery->prepare("SELECT messageid, time, type, flags, sender, message, displayname "
- "FROM backlog "
- "JOIN buffer ON backlog.bufferid = buffer.bufferid "
- "JOIN sender ON backlog.senderid = sender.senderid "
- "LEFT JOIN buffergroup ON buffer.groupid = buffergroup.groupid "
- "WHERE buffer.bufferid = :bufferid OR buffer.groupid = (SELECT groupid FROM buffer WHERE bufferid = :bufferid2) "
- "ORDER BY messageid DESC "
- "LIMIT :limit OFFSET :offset");
-
- requestMsgsSinceOffsetQuery = new QSqlQuery(logDb);
- requestMsgsSinceOffsetQuery->prepare("SELECT count(*) FROM backlog WHERE bufferid = :bufferid AND time >= :since");
-
- requestMsgsSinceQuery = new QSqlQuery(logDb);
- requestMsgsSinceQuery->prepare("SELECT messageid, time, type, flags, sender, message, displayname "
- "FROM backlog "
- "JOIN buffer ON backlog.bufferid = buffer.bufferid "
- "JOIN sender ON backlog.senderid = sender.senderid "
- "LEFT JOIN buffergroup ON buffer.groupid = buffergroup.groupid "
- "WHERE (buffer.bufferid = :bufferid OR buffer.groupid = (SELECT groupid FROM buffer WHERE bufferid = :bufferid2)) AND "
- "backlog.time >= :since "
- "ORDER BY messageid DESC "
- "LIMIT -1 OFFSET :offset");
-
- requestMsgRangeQuery = new QSqlQuery(logDb);
- requestMsgRangeQuery->prepare("SELECT messageid, time, type, flags, sender, message, displayname "
- "FROM backlog "
- "JOIN buffer ON backlog.bufferid = buffer.bufferid "
- "JOIN sender ON backlog.senderid = sender.senderid "
- "LEFT JOIN buffergroup ON buffer.groupid = buffergroup.groupid "
- "WHERE (buffer.bufferid = :bufferid OR buffer.groupid = (SELECT groupid FROM buffer WHERE bufferid = :bufferid2)) AND "
- "backlog.messageid >= :firstmsg AND backlog.messageid <= :lastmsg "
- "ORDER BY messageid DESC ");
-
- return true;