query.bindValue(":username", user);
query.exec();
query.first();
- UserId uid = query.value(0).toUInt();
+ UserId uid = query.value(0).toInt();
emit userAdded(uid, user);
return uid;
}
QSqlQuery query(logDb());
query.prepare(queryString("update_userpassword"));
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.bindValue(":password", cryptopass);
query.exec();
}
void SqliteStorage::renameUser(UserId user, const QString &newName) {
QSqlQuery query(logDb());
query.prepare(queryString("update_username"));
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.bindValue(":username", newName);
query.exec();
emit userRenamed(user, newName);
query.exec();
if(query.first()) {
- return query.value(0).toUInt();
+ return query.value(0).toInt();
} else {
return 0;
}
void SqliteStorage::delUser(UserId user) {
QSqlQuery query(logDb());
query.prepare(queryString("delete_backlog_by_uid"));
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.exec();
query.prepare(queryString("delete_buffers_by_uid"));
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.exec();
query.prepare(queryString("delete_networks_by_uid"));
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.exec();
query.prepare(queryString("delete_quasseluser"));
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.exec();
// I hate the lack of foreign keys and on delete cascade... :(
emit userRemoved(user);
void SqliteStorage::createBuffer(UserId user, const QString &network, const QString &buffer) {
QSqlQuery *createBufferQuery = cachedQuery("insert_buffer");
- createBufferQuery->bindValue(":userid", user);
- createBufferQuery->bindValue(":userid2", user); // Qt can't handle same placeholder twice (maybe sqlites fault)
+ createBufferQuery->bindValue(":userid", user.toInt());
+ createBufferQuery->bindValue(":userid2", user.toInt()); // Qt can't handle same placeholder twice (maybe sqlites fault)
createBufferQuery->bindValue(":networkname", network);
createBufferQuery->bindValue(":buffername", buffer);
createBufferQuery->exec();
if(createBufferQuery->lastError().isValid()) {
if(createBufferQuery->lastError().number() == 19) { // Null Constraint violation
QSqlQuery *createNetworkQuery = cachedQuery("insert_network");
- createNetworkQuery->bindValue(":userid", user);
+ createNetworkQuery->bindValue(":userid", user.toInt());
createNetworkQuery->bindValue(":networkname", network);
createNetworkQuery->exec();
+ Q_ASSERT(watchQuery(createNetworkQuery));
createBufferQuery->exec();
- Q_ASSERT(!createNetworkQuery->lastError().isValid());
- Q_ASSERT(!createBufferQuery->lastError().isValid());
+ Q_ASSERT(watchQuery(createBufferQuery));
} else {
// do panic!
qDebug() << "failed to create Buffer: ErrNo:" << createBufferQuery->lastError().number() << "ErrMsg:" << createBufferQuery->lastError().text();
QSqlQuery query(logDb());
query.prepare("SELECT networkid FROM network "
"WHERE userid = :userid AND networkname = :networkname");
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.bindValue(":networkname", network);
query.exec();
if(query.first())
- return query.value(0).value<NetworkId>();
+ return query.value(0).toInt();
else {
createBuffer(user, network, "");
query.exec();
if(query.first())
- return query.value(0).value<NetworkId>();
+ return query.value(0).toInt();
else {
qWarning() << "NETWORK NOT FOUND:" << network << "for User:" << user;
return 0;
NetworkId networkId = getNetworkId(user, network);
QSqlQuery *getBufferInfoQuery = cachedQuery("select_bufferByName");
- 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(":networkid", networkId.toInt());
+ getBufferInfoQuery->bindValue(":userid", user.toInt());
getBufferInfoQuery->bindValue(":buffername", buffer);
getBufferInfoQuery->exec();
createBuffer(user, network, buffer);
getBufferInfoQuery->exec();
if(getBufferInfoQuery->first()) {
- bufferid = BufferInfo(getBufferInfoQuery->value(0).value<BufferId>(), networkId, 0, network, buffer);
+ bufferid = BufferInfo(getBufferInfoQuery->value(0).toInt(), networkId, 0, network, buffer);
emit bufferInfoUpdated(user, bufferid);
}
} else {
- bufferid = BufferInfo(getBufferInfoQuery->value(0).value<BufferId>(), networkId, 0, network, buffer);
+ bufferid = BufferInfo(getBufferInfoQuery->value(0).toInt(), networkId, 0, network, buffer);
}
Q_ASSERT(!getBufferInfoQuery->next());
QList<BufferInfo> bufferlist;
QSqlQuery query(logDb());
query.prepare(queryString("select_buffers"));
- query.bindValue(":userid", user);
+ query.bindValue(":userid", user.toInt());
query.bindValue(":time", time);
query.exec();
watchQuery(&query);
while(query.next()) {
- bufferlist << BufferInfo(query.value(0).value<BufferId>(), query.value(2).value<NetworkId>(), 0, query.value(3).toString(), query.value(1).toString());
+ bufferlist << BufferInfo(query.value(0).toInt(), query.value(2).toInt(), 0, query.value(3).toString(), query.value(1).toString());
}
return bufferlist;
}
MsgId SqliteStorage::logMessage(Message msg) {
QSqlQuery *logMessageQuery = cachedQuery("insert_message");
logMessageQuery->bindValue(":time", msg.timestamp().toTime_t());
- logMessageQuery->bindValue(":bufferid", msg.buffer().uid());
+ logMessageQuery->bindValue(":bufferid", msg.buffer().uid().toInt());
logMessageQuery->bindValue(":type", msg.type());
logMessageQuery->bindValue(":flags", msg.flags());
logMessageQuery->bindValue(":sender", msg.sender());
QSqlQuery *getLastMessageIdQuery = cachedQuery("select_lastMessage");
getLastMessageIdQuery->bindValue(":time", msg.timestamp().toTime_t());
- getLastMessageIdQuery->bindValue(":bufferid", msg.buffer().uid());
+ getLastMessageIdQuery->bindValue(":bufferid", msg.buffer().uid().toInt());
getLastMessageIdQuery->bindValue(":type", msg.type());
getLastMessageIdQuery->bindValue(":sender", msg.sender());
getLastMessageIdQuery->exec();
if(getLastMessageIdQuery->first()) {
- return getLastMessageIdQuery->value(0).value<MsgId>();
+ return getLastMessageIdQuery->value(0).toInt();
} else { // somethin went wrong... :(
qDebug() << getLastMessageIdQuery->lastQuery() << "time/bufferid/type/sender:" << msg.timestamp().toTime_t() << msg.buffer().uid() << msg.type() << msg.sender();
Q_ASSERT(false);
QList<Message> messagelist;
// we have to determine the real offset first
QSqlQuery *requestMsgsOffsetQuery = cachedQuery("select_messagesOffset");
- requestMsgsOffsetQuery->bindValue(":bufferid", buffer.uid());
+ requestMsgsOffsetQuery->bindValue(":bufferid", buffer.uid().toInt());
requestMsgsOffsetQuery->bindValue(":messageid", offset);
requestMsgsOffsetQuery->exec();
requestMsgsOffsetQuery->first();
// now let's select the messages
QSqlQuery *requestMsgsQuery = cachedQuery("select_messages");
- requestMsgsQuery->bindValue(":bufferid", buffer.uid());
- requestMsgsQuery->bindValue(":bufferid2", buffer.uid()); // Qt can't handle the same placeholder used twice
+ requestMsgsQuery->bindValue(":bufferid", buffer.uid().toInt());
+ requestMsgsQuery->bindValue(":bufferid2", buffer.uid().toInt()); // Qt can't handle the same placeholder used twice
requestMsgsQuery->bindValue(":limit", lastmsgs);
requestMsgsQuery->bindValue(":offset", offset);
requestMsgsQuery->exec();
requestMsgsQuery->value(5).toString(),
requestMsgsQuery->value(4).toString(),
requestMsgsQuery->value(3).toUInt());
- msg.setMsgId(requestMsgsQuery->value(0).value<MsgId>());
+ msg.setMsgId(requestMsgsQuery->value(0).toInt());
messagelist << msg;
}
return messagelist;
QList<Message> messagelist;
// we have to determine the real offset first
QSqlQuery *requestMsgsSinceOffsetQuery = cachedQuery("select_messagesSinceOffset");
- requestMsgsSinceOffsetQuery->bindValue(":bufferid", buffer.uid());
+ requestMsgsSinceOffsetQuery->bindValue(":bufferid", buffer.uid().toInt());
requestMsgsSinceOffsetQuery->bindValue(":since", since.toTime_t());
requestMsgsSinceOffsetQuery->exec();
requestMsgsSinceOffsetQuery->first();
// now let's select the messages
QSqlQuery *requestMsgsSinceQuery = cachedQuery("select_messagesSince");
- requestMsgsSinceQuery->bindValue(":bufferid", buffer.uid());
- requestMsgsSinceQuery->bindValue(":bufferid2", buffer.uid());
+ requestMsgsSinceQuery->bindValue(":bufferid", buffer.uid().toInt());
+ requestMsgsSinceQuery->bindValue(":bufferid2", buffer.uid().toInt());
requestMsgsSinceQuery->bindValue(":since", since.toTime_t());
requestMsgsSinceQuery->bindValue(":offset", offset);
requestMsgsSinceQuery->exec();
requestMsgsSinceQuery->value(5).toString(),
requestMsgsSinceQuery->value(4).toString(),
requestMsgsSinceQuery->value(3).toUInt());
- msg.setMsgId(requestMsgsSinceQuery->value(0).value<MsgId>());
+ msg.setMsgId(requestMsgsSinceQuery->value(0).toInt());
messagelist << msg;
}
QList<Message> SqliteStorage::requestMsgRange(BufferInfo buffer, int first, int last) {
QList<Message> messagelist;
QSqlQuery *requestMsgRangeQuery = cachedQuery("select_messageRange");
- requestMsgRangeQuery->bindValue(":bufferid", buffer.uid());
- requestMsgRangeQuery->bindValue(":bufferid2", buffer.uid());
+ requestMsgRangeQuery->bindValue(":bufferid", buffer.uid().toInt());
+ requestMsgRangeQuery->bindValue(":bufferid2", buffer.uid().toInt());
requestMsgRangeQuery->bindValue(":firstmsg", first);
requestMsgRangeQuery->bindValue(":lastmsg", last);
requestMsgRangeQuery->value(5).toString(),
requestMsgRangeQuery->value(4).toString(),
requestMsgRangeQuery->value(3).toUInt());
- msg.setMsgId(requestMsgRangeQuery->value(0).value<MsgId>());
+ msg.setMsgId(requestMsgRangeQuery->value(0).toInt());
messagelist << msg;
}