From: Manuel Nickschas Date: Wed, 20 Feb 2008 17:24:13 +0000 (+0000) Subject: Finally we have solved the session restore problems, and Quassel Core should X-Git-Tag: 0.2.0-alpha1~18 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=70638bdb6a34f51409d4618128fbfd5b56af0e52;hp=b709cbc76fc0bd0f14839b4c04ba8caf78d775f1 Finally we have solved the session restore problems, and Quassel Core should now be able to restore its session in a matter of seconds! --- diff --git a/src/core/SQL/SQLite/7/select_lastMessage.sql b/src/core/SQL/SQLite/7/select_lastMessage.sql deleted file mode 100644 index bbd3b1d5..00000000 --- a/src/core/SQL/SQLite/7/select_lastMessage.sql +++ /dev/null @@ -1,2 +0,0 @@ -SELECT messageid FROM backlog -WHERE time = :time AND bufferid = :bufferid AND type = :type AND senderid = (SELECT senderid FROM sender WHERE sender = :sender) diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index e3c58450..165753a7 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -205,7 +205,7 @@ void CoreSession::restoreSessionState() { QStringList l = chan.split("/"); network(id)->addPersistentChannel(l[0], l[1]); } - qDebug() << "User" << user() << "connecting to" << network(id)->networkName(); + //qDebug() << "User" << user() << "connecting to" << network(id)->networkName(); connectToNetwork(id); } } diff --git a/src/core/networkconnection.cpp b/src/core/networkconnection.cpp index e56bb933..0a2604c0 100644 --- a/src/core/networkconnection.cpp +++ b/src/core/networkconnection.cpp @@ -235,7 +235,8 @@ void NetworkConnection::sendPerform() { channels.append(chan); } } - userInputHandler()->handleJoin(statusBuf, QString("%1 %2").arg(channels.join(",")).arg(keys.join(","))); + QString joinString = QString("%1 %2").arg(channels.join(",")).arg(keys.join(",")).trimmed(); + if(!joinString.isEmpty()) userInputHandler()->handleJoin(statusBuf, joinString); } void NetworkConnection::disconnectFromIrc() { @@ -264,6 +265,8 @@ void NetworkConnection::socketError(QAbstractSocket::SocketError) { setConnectionState(Network::Disconnected); socketDisconnected(); } + //qDebug() << "exiting..."; + //exit(1); } void NetworkConnection::socketConnected() { diff --git a/src/core/sql.qrc b/src/core/sql.qrc index 47886fb6..cf910823 100644 --- a/src/core/sql.qrc +++ b/src/core/sql.qrc @@ -1,95 +1,94 @@ - ./SQL/SQLite/1/upgrade_000_drop_coreinfo.sql ./SQL/SQLite/1/upgrade_010_create_coreinfo.sql + ./SQL/SQLite/1/upgrade_000_drop_coreinfo.sql ./SQL/SQLite/1/upgrade_020_update_schemaversion.sql - ./SQL/SQLite/2/upgrade_000_drop_buffergroup.sql ./SQL/SQLite/2/upgrade_010_update_schemaversion.sql + ./SQL/SQLite/2/upgrade_000_drop_buffergroup.sql ./SQL/SQLite/3/upgrade_000_update_backlog_flags.sql ./SQL/SQLite/3/upgrade_010_update_schemaversion.sql + ./SQL/SQLite/4/upgrade_999_update_schemaversion.sql ./SQL/SQLite/4/upgrade_000_rename_buffertable.sql - ./SQL/SQLite/4/upgrade_010_create_buffertable.sql + ./SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql ./SQL/SQLite/4/upgrade_020_copy_buffertable.sql + ./SQL/SQLite/4/upgrade_010_create_buffertable.sql ./SQL/SQLite/4/upgrade_030_drop_oldbuffertable.sql ./SQL/SQLite/4/upgrade_040_create_buffer_idx.sql - ./SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql - ./SQL/SQLite/4/upgrade_999_update_schemaversion.sql - ./SQL/SQLite/5/upgrade_000_rename_networktable.sql - ./SQL/SQLite/5/upgrade_010_create_newnetworktable.sql - ./SQL/SQLite/5/upgrade_020_copy_networktable.sql + ./SQL/SQLite/5/upgrade_999_update_schemaversion.sql ./SQL/SQLite/5/upgrade_030_drop_oldnetworktable.sql + ./SQL/SQLite/5/upgrade_020_copy_networktable.sql ./SQL/SQLite/5/upgrade_180_create_ircservers.sql - ./SQL/SQLite/5/upgrade_999_update_schemaversion.sql + ./SQL/SQLite/5/upgrade_010_create_newnetworktable.sql + ./SQL/SQLite/5/upgrade_000_rename_networktable.sql + ./SQL/SQLite/6/upgrade_040_update_msgtype.sql ./SQL/SQLite/6/upgrade_000_alter_buffertable.sql - ./SQL/SQLite/6/upgrade_010_set_statusbuffertype.sql - ./SQL/SQLite/6/upgrade_020_set_channelbuffertype.sql ./SQL/SQLite/6/upgrade_030_set_querybuffertype.sql - ./SQL/SQLite/6/upgrade_040_update_msgtype.sql - ./SQL/SQLite/6/upgrade_050_update_msgtype.sql - ./SQL/SQLite/6/upgrade_060_update_msgtype.sql - ./SQL/SQLite/6/upgrade_070_update_msgtype.sql - ./SQL/SQLite/6/upgrade_080_update_msgtype.sql - ./SQL/SQLite/6/upgrade_090_update_msgtype.sql - ./SQL/SQLite/6/upgrade_100_update_msgtype.sql - ./SQL/SQLite/6/upgrade_110_update_msgtype.sql - ./SQL/SQLite/6/upgrade_120_update_msgtype.sql - ./SQL/SQLite/6/upgrade_130_update_msgtype.sql - ./SQL/SQLite/6/upgrade_140_update_msgtype.sql - ./SQL/SQLite/6/upgrade_150_update_msgtype.sql ./SQL/SQLite/6/upgrade_160_update_msgtype.sql + ./SQL/SQLite/6/upgrade_140_update_msgtype.sql + ./SQL/SQLite/6/upgrade_120_update_msgtype.sql + ./SQL/SQLite/6/upgrade_100_update_msgtype.sql + ./SQL/SQLite/6/upgrade_090_update_msgtype.sql + ./SQL/SQLite/6/upgrade_070_update_msgtype.sql + ./SQL/SQLite/6/upgrade_050_update_msgtype.sql + ./SQL/SQLite/6/upgrade_020_set_channelbuffertype.sql ./SQL/SQLite/6/upgrade_999_version.sql - ./SQL/SQLite/7/delete_backlog_by_uid.sql - ./SQL/SQLite/7/delete_backlog_for_buffer.sql - ./SQL/SQLite/7/delete_backlog_for_network.sql - ./SQL/SQLite/7/delete_buffer_for_bufferid.sql - ./SQL/SQLite/7/delete_buffers_by_uid.sql - ./SQL/SQLite/7/delete_buffers_for_network.sql - ./SQL/SQLite/7/delete_ircservers_for_network.sql - ./SQL/SQLite/7/delete_network.sql - ./SQL/SQLite/7/delete_networks_by_uid.sql - ./SQL/SQLite/7/delete_quasseluser.sql - ./SQL/SQLite/7/insert_buffer.sql - ./SQL/SQLite/7/insert_message.sql + ./SQL/SQLite/6/upgrade_150_update_msgtype.sql + ./SQL/SQLite/6/upgrade_130_update_msgtype.sql + ./SQL/SQLite/6/upgrade_010_set_statusbuffertype.sql + ./SQL/SQLite/6/upgrade_110_update_msgtype.sql + ./SQL/SQLite/6/upgrade_080_update_msgtype.sql + ./SQL/SQLite/6/upgrade_060_update_msgtype.sql ./SQL/SQLite/7/insert_network.sql ./SQL/SQLite/7/insert_quasseluser.sql - ./SQL/SQLite/7/insert_sender.sql - ./SQL/SQLite/7/insert_server.sql - ./SQL/SQLite/7/select_authuser.sql - ./SQL/SQLite/7/select_buffer_by_id.sql - ./SQL/SQLite/7/select_buffer_lastseen_dates.sql + ./SQL/SQLite/7/select_networkExists.sql + ./SQL/SQLite/7/insert_buffer.sql + ./SQL/SQLite/7/setup_020_network.sql + ./SQL/SQLite/7/delete_networks_by_uid.sql ./SQL/SQLite/7/select_bufferByName.sql - ./SQL/SQLite/7/select_bufferExists.sql - ./SQL/SQLite/7/select_buffers.sql - ./SQL/SQLite/7/select_lastMessage.sql ./SQL/SQLite/7/select_messageRange.sql - ./SQL/SQLite/7/select_messages.sql - ./SQL/SQLite/7/select_messagesOffset.sql - ./SQL/SQLite/7/select_messagesSince.sql + ./SQL/SQLite/7/insert_message.sql + ./SQL/SQLite/7/setup_000_quasseluser.sql + ./SQL/SQLite/7/setup_999_version.sql + ./SQL/SQLite/7/update_username.sql ./SQL/SQLite/7/select_messagesSinceOffset.sql - ./SQL/SQLite/7/select_networkExists.sql - ./SQL/SQLite/7/select_networks_for_user.sql + ./SQL/SQLite/7/delete_buffers_by_uid.sql + ./SQL/SQLite/7/select_bufferExists.sql ./SQL/SQLite/7/select_servers_for_network.sql + ./SQL/SQLite/7/delete_network.sql + ./SQL/SQLite/7/delete_backlog_by_uid.sql + ./SQL/SQLite/7/delete_quasseluser.sql + ./SQL/SQLite/7/select_messagesSince.sql + ./SQL/SQLite/7/delete_backlog_for_network.sql + ./SQL/SQLite/7/update_network.sql + ./SQL/SQLite/7/delete_backlog_for_buffer.sql + ./SQL/SQLite/7/upgrade_030_drop_oldnetworktable.sql + ./SQL/SQLite/7/update_buffer_name.sql + ./SQL/SQLite/7/setup_030_buffer.sql + ./SQL/SQLite/7/setup_070_coreinfo.sql + ./SQL/SQLite/7/upgrade_999_version.sql + ./SQL/SQLite/7/upgrade_040_alter_buffer_add_lastseen.sql + ./SQL/SQLite/7/insert_sender.sql ./SQL/SQLite/7/select_userid.sql - ./SQL/SQLite/7/setup_000_quasseluser.sql + ./SQL/SQLite/7/upgrade_020_copy_networktable.sql ./SQL/SQLite/7/setup_010_sender.sql - ./SQL/SQLite/7/setup_020_network.sql - ./SQL/SQLite/7/setup_030_buffer.sql ./SQL/SQLite/7/setup_040_buffer_idx.sql - ./SQL/SQLite/7/setup_050_buffer_cname_idx.sql ./SQL/SQLite/7/setup_060_backlog.sql - ./SQL/SQLite/7/setup_070_coreinfo.sql - ./SQL/SQLite/7/setup_080_ircservers.sql - ./SQL/SQLite/7/setup_999_version.sql - ./SQL/SQLite/7/update_buffer_lastseen.sql - ./SQL/SQLite/7/update_buffer_name.sql - ./SQL/SQLite/7/update_network.sql - ./SQL/SQLite/7/update_username.sql + ./SQL/SQLite/7/select_buffers.sql + ./SQL/SQLite/7/insert_server.sql + ./SQL/SQLite/7/delete_ircservers_for_network.sql ./SQL/SQLite/7/update_userpassword.sql - ./SQL/SQLite/7/upgrade_000_rename_networktable.sql + ./SQL/SQLite/7/select_networks_for_user.sql + ./SQL/SQLite/7/select_buffer_by_id.sql + ./SQL/SQLite/7/delete_buffer_for_bufferid.sql + ./SQL/SQLite/7/select_buffer_lastseen_dates.sql ./SQL/SQLite/7/upgrade_010_create_newnetworktable.sql - ./SQL/SQLite/7/upgrade_020_copy_networktable.sql - ./SQL/SQLite/7/upgrade_030_drop_oldnetworktable.sql - ./SQL/SQLite/7/upgrade_040_alter_buffer_add_lastseen.sql - ./SQL/SQLite/7/upgrade_999_version.sql + ./SQL/SQLite/7/upgrade_000_rename_networktable.sql + ./SQL/SQLite/7/delete_buffers_for_network.sql + ./SQL/SQLite/7/select_authuser.sql + ./SQL/SQLite/7/select_messages.sql + ./SQL/SQLite/7/select_messagesOffset.sql + ./SQL/SQLite/7/update_buffer_lastseen.sql + ./SQL/SQLite/7/setup_050_buffer_cname_idx.sql + ./SQL/SQLite/7/setup_080_ircservers.sql diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index be02b385..7ae4f0e8 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -553,20 +553,9 @@ MsgId SqliteStorage::logMessage(Message msg) { } } - QSqlQuery *getLastMessageIdQuery = cachedQuery("select_lastMessage"); - getLastMessageIdQuery->bindValue(":time", msg.timestamp().toTime_t()); - getLastMessageIdQuery->bindValue(":bufferid", msg.bufferInfo().bufferId().toInt()); - getLastMessageIdQuery->bindValue(":type", msg.type()); - getLastMessageIdQuery->bindValue(":sender", msg.sender()); - getLastMessageIdQuery->exec(); - - if(getLastMessageIdQuery->first()) { - return getLastMessageIdQuery->value(0).toInt(); - } else { // somethin went wrong... :( - qDebug() << getLastMessageIdQuery->lastQuery() << "time/bufferid/type/sender:" << msg.timestamp().toTime_t() << msg.bufferInfo().bufferId() << msg.type() << msg.sender(); - Q_ASSERT(false); - return 0; - } + MsgId msgId = logMessageQuery->lastInsertId().toInt(); + Q_ASSERT(msgId.isValid()); + return msgId; } QList SqliteStorage::requestMsgs(BufferInfo buffer, int lastmsgs, int offset) { diff --git a/version.inc b/version.inc index da0bd119..3c51ba90 100644 --- a/version.inc +++ b/version.inc @@ -4,8 +4,8 @@ { using namespace Global; quasselVersion = "0.2.0-pre"; - quasselDate = "2008-02-19"; - quasselBuild = 561; + quasselDate = "2008-02-20"; + quasselBuild = 564; //! Minimum client build number the core needs clientBuildNeeded = 559;