/***************************************************************************
- * Copyright (C) 2005-07 by The Quassel Team *
+ * Copyright (C) 2005-08 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
+ * (at your option) version 3. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
}
bool SqliteStorage::setup(const QVariantMap &settings) {
+ Q_UNUSED(settings);
bool ok;
// this extra scope is needed to be able to remove the database connection later
{
}
bool SqliteStorage::init(const QVariantMap &settings) {
+ Q_UNUSED(settings);
bool ok;
// i need the extra scope to be able to remove the database connection
{
// 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), :buffername)");
+ 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 buffer.userid = :userid AND lower(buffer.buffername) = lower(:buffername)");
+ "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) "
void SqliteStorage::createBuffer(UserId user, const QString &network, const QString &buffer) {
createBufferQuery->bindValue(":userid", user);
+ createBufferQuery->bindValue(":userid2", user); // Qt can't handle same placeholder twice (maybe sqlites fault)
createBufferQuery->bindValue(":networkname", network);
createBufferQuery->bindValue(":buffername", buffer);
createBufferQuery->exec();
uint networkId = getNetworkId(user, network);
getBufferInfoQuery->bindValue(":networkname", network);
getBufferInfoQuery->bindValue(":userid", user);
+ getBufferInfoQuery->bindValue(":userid2", user); // Qt can't handle same placeholder twice... though I guess it's sqlites fault
getBufferInfoQuery->bindValue(":buffername", buffer);
getBufferInfoQuery->exec();