WHERE backlog.bufferid IN (SELECT bufferid FROM buffer WHERE userid = :userid)
AND backlog.messageid >= :firstmsg
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
-- Unlike SQLite, no LIMIT clause, mimicking the unfiltered version - investigate later..?
AND backlog.messageid >= :firstmsg
AND backlog.messageid < :lastmsg
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
-- Unlike SQLite, no LIMIT clause, mimicking the unfiltered version - investigate later..?
FROM backlog
JOIN sender ON backlog.senderid = sender.senderid
WHERE backlog.messageid >= :first
- AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :buffer)
+ AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferDup1)
AND bufferid = :buffer
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
FROM backlog
JOIN sender ON backlog.senderid = sender.senderid
WHERE bufferid = :buffer
- AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :buffer)
+ AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferDup1)
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
AND backlog.messageid < :last
AND bufferid = :buffer
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
WHERE backlog.bufferid IN (SELECT bufferid FROM buffer WHERE userid = :userid)
AND backlog.messageid >= :firstmsg
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
AND backlog.messageid >= :firstmsg
AND backlog.messageid < :lastmsg
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
FROM backlog
JOIN sender ON backlog.senderid = sender.senderid
WHERE backlog.messageid >= :firstmsg
- AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferid)
+ AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferidDup1)
AND bufferid = :bufferid
ORDER BY messageid DESC
LIMIT :limit
FROM backlog
JOIN sender ON backlog.senderid = sender.senderid
WHERE backlog.messageid >= :firstmsg
- AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferid)
+ AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferidDup1)
AND bufferid = :bufferid
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
FROM backlog
JOIN sender ON backlog.senderid = sender.senderid
WHERE bufferid = :bufferid
-AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferid)
+AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferidDup1)
ORDER BY messageid DESC
LIMIT :limit
FROM backlog
JOIN sender ON backlog.senderid = sender.senderid
WHERE bufferid = :bufferid
-AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferid)
+AND backlog.messageid <= (SELECT buffer.lastmsgid FROM buffer WHERE buffer.bufferid = :bufferidDup1)
AND backlog.type & :type != 0
-AND (:flags = 0 OR backlog.flags & :flags != 0)
+AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
AND backlog.messageid >= :firstmsg
AND backlog.messageid < :lastmsg
AND backlog.type & :type != 0
- AND (:flags = 0 OR backlog.flags & :flags != 0)
+ AND (:flags = 0 OR backlog.flags & :flagsDup1 != 0)
ORDER BY messageid DESC
LIMIT :limit
QSqlQuery query(db);
if (last == -1 && first == -1) {
query.prepare(queryString("select_messagesNewestK_filtered"));
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":bufferDup1", bufferId.toInt());
} else if (last == -1) {
query.prepare(queryString("select_messagesNewerThan_filtered"));
query.bindValue(":first", first.toQint64());
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":bufferDup1", bufferId.toInt());
} else {
query.prepare(queryString("select_messagesRange_filtered"));
query.bindValue(":last", last.toQint64());
query.bindValue(":first", first.toQint64());
+ // Workaround for Qt 4 QSqlQuery::bindValue() not needed, only has one ":buffer"
}
query.bindValue(":buffer", bufferId.toInt());
query.bindValue(":limit", limit);
query.bindValue(":type", typeRaw);
int flagsRaw = flags;
query.bindValue(":flags", flagsRaw);
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":flagsDup1", flagsRaw);
safeExec(query);
if (!watchQuery(query)) {
int flagsRaw = flags;
query.bindValue(":flags", flagsRaw);
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":flagsDup1", flagsRaw);
safeExec(query);
if (!watchQuery(query)) {
QSqlQuery query(db);
if (last == -1 && first == -1) {
query.prepare(queryString("select_messagesNewestK"));
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":bufferidDup1", bufferId.toInt());
}
else if (last == -1) {
query.prepare(queryString("select_messagesNewerThan"));
query.bindValue(":firstmsg", first.toQint64());
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":bufferidDup1", bufferId.toInt());
}
else {
query.prepare(queryString("select_messagesRange"));
query.bindValue(":lastmsg", last.toQint64());
query.bindValue(":firstmsg", first.toQint64());
+ // Workaround for Qt 4 QSqlQuery::bindValue() not needed, only has one ":bufferid"
}
query.bindValue(":bufferid", bufferId.toInt());
query.bindValue(":limit", limit);
QSqlQuery query(db);
if (last == -1 && first == -1) {
query.prepare(queryString("select_messagesNewestK_filtered"));
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":bufferidDup1", bufferId.toInt());
}
else if (last == -1) {
query.prepare(queryString("select_messagesNewerThan_filtered"));
query.bindValue(":firstmsg", first.toQint64());
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":bufferidDup1", bufferId.toInt());
}
else {
query.prepare(queryString("select_messagesRange_filtered"));
query.bindValue(":lastmsg", last.toQint64());
query.bindValue(":firstmsg", first.toQint64());
+ // Workaround for Qt 4 QSqlQuery::bindValue() not needed, only has one ":bufferid"
}
query.bindValue(":bufferid", bufferId.toInt());
query.bindValue(":limit", limit);
query.bindValue(":type", typeRaw);
int flagsRaw = flags;
query.bindValue(":flags", flagsRaw);
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":flagsDup1", flagsRaw);
safeExec(query);
watchQuery(query);
query.bindValue(":type", typeRaw);
int flagsRaw = flags;
query.bindValue(":flags", flagsRaw);
+ // Workaround for Qt 4 QSqlQuery::bindValue() not supporting repeated placeholder names
+ query.bindValue(":flagsDup1", flagsRaw);
safeExec(query);
watchQuery(query);